home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-12-26 | 94.5 KB | 2,443 lines |
- Opis sterownik≤w do PCMCIA
- Autor: David Hinds, dhinds@hyper.stanford.edu
- v1.105, 9 Wrze╢nia 1997
- Wersja polska: Bartosz Maruszewski B.Maruszewski@jtz.org.pl
- v2.0, 13 Grudnia 1997
-
-
- Dokument ten opisuje jak zainstalowaµ i u┐ywaµ Card Services PCMCIA w
- Linux-ie oraz odpowiada na niekt≤re czΩsto zadawane pytania.
- Najnowsz▒ wersjΩ orygina│u tego dokumentu mo┐na zawsze znale╝µ pod
- adresem hyper.stanford.edu. Wersja HTML znajduje siΩ pod adresem
- hyper.stanford.edu/HyperNews/get/pcmcia/home.html <http://hyper.stan¡
- ford.edu/HyperNews/get/pcmcia/home.html> Dokument ten zosta│ napisany
- w standardzie ISO-8859-2. Nowsza wersja zawiera uaktulanione wskaza¡
- nia na katalog zawieraj▒cy j▒dro na ftp.icm.edu.pl. Kolejna wersja
- jest uaktualnieniem do obecnej wersji orygina│u.
- ______________________________________________________________________
-
- Table of Contents
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1. Informacje og≤lne i wymagania sprzΩtowe.
-
- 1.1 Wprowadzenie.
- 1.2 Prawa autorskie i Disclaimer.
- 1.3 Jaka jest najnowsza wersja i sk▒d mogΩ j▒ wzi▒µ ?
- 1.4 Jakie systemy s▒ obs│ugiwane ?
- 1.5 Jakie karty PCMCIA s▒ obs│ugiwane?
- 1.6 Kiedy moja nowa karta bΩdzie obs│ugiwana ?
- 1.7 Listy dyskusyjne.
-
- 2. Kompilacja, instalacja i konfiguracja.
-
- 2.1 Wymagania i ustawienia j▒dra.
- 2.2 Instalacja.
- 2.3 Post-instalacja dla system≤w u┐ywaj▒cych skrypt≤w inicjacyjnych a'la BSD.
- 2.4 Post-instalacja dla system≤w u┐ywaj▒cych skrypt≤w inicjacyjnych a'la SYS V.
- 2.5 Opcje konfiguracji specyficzne dla danego systemu.
- 2.6 Problemy podczas │adowania modu│≤w j▒dra.
- 2.7 Problemy z przerwaniem zmiany statusu karty.
- 2.8 Problemy z identyfikacj▒ karty.
- 2.9 Dlaczego nie dystrybujesz binari≤w do PCMCIA ?
- 2.10 Dlaczego ten pakiet jest taki wielki ?
-
- 3. Stosowanie i zalety.
-
- 3.1 NarzΩdzia do monitorowania urz▒dze± PCMCIA.
- 3.2 Przegl▒d skrypt≤w konfiguracyjnych PCMCIA.
- 3.3 Adaptery sieciowe PCMCIA.
- 3.3.1 Wyb≤r transceiver-a.
- 3.3.2 Komentarze na temat konkretnych kart.
- 3.3.3 Diagnozowanie problem≤w z kartami sieciowymi.
- 3.4 Urz▒dzenia szeregowe i modemy PCMCIA.
- 3.4.1 Diagnozowanie problem≤w z urz▒dzeniami szeregowymi.
- 3.5 Adaptery PCMCIA SCSI.
- 3.5.1 Diagnozowanie problem≤w z kartami SCSI.
- 3.6 Karty pamiΩci PCMCIA.
- 3.6.1 U┐ywanie kart pamiΩci [quot ]flash[quot ].
- 3.7 Karty PCMCIA napΩd≤w ATA/IDE.
- 3.7.1 Diagnozowanie problem≤w z adapterami ATA/IDE.
- 3.8 Karty wielofunkcyjne.
- 3.9 Kiedy mo┐na bezpiecznie w│o┐yµ albo wyj▒µ kartΩ PCMCIA ?
- 3.10 Card Services i Advanced Power Management.
- 3.11 Jak mam wy│▒czyµ kartΩ PCMCIA bez wyjmowania jej ?
- 3.12 Jak usuwam sterowniki PCMCIA z pamiΩci ?
-
- 4. Zaawansowane tematy.
-
- 4.1 Alokoacja zasob≤w dla urz▒dze± PCMCIA.
- 4.2 Jak zrobiµ dwie r≤┐ne konfiguracje urz▒dze± do domu i pracy ?
- 4.3 Startowanie z urz▒dzenia PCMCIA.
- 4.3.1 Skrypt-pomocnik pcinitrd.
- 4.3.2 Tworzenie dyskietki startowej z initrd.
- 4.3.3 Instalacja obrazu initrd na napΩdach bez Linux-a.
-
- 5. Jak radziµ sobie z nieobs│ugiwanymi kartami.
-
- 5.1 Konfiguracja nieobs│ugiwanych kart.
- 5.2 Jak mam dodaµ obs│ugΩ dla karty kompatybilnej z NE2000 ?
- 5.3 Interfejs PCMCIA do dyskietek.
- 5.4 Co jest z obs│ug▒ kart Xircom ?
-
- 6. Wskaz≤wki do ╢ledzenia (debugging) i informacje do programowania.
-
- 6.1 Jak mogΩ wys│aµ pomocny list o b│Ωdzie ?
- 6.2 Informacje na temat niskopoziomowego ╢ledzenia PCMCIA.
- 6.3 Jak mam napisaµ sterownik Card Services dla nowej karty ?
- 6.4 Wskaz≤wki dla autor≤w sterownik≤w klient≤w PCMCIA.
- 6.5 Od t│umacza.
-
-
- ______________________________________________________________________
-
- 1. Informacje og≤lne i wymagania sprzΩtowe.
-
-
-
- 1.1. Wprowadzenie.
-
-
- Card Services dla Linux-a to kompletny pakiet obs│uguj▒cy PCMCIA.
- Zawiera on zestaw │adowalnych modu│≤w j▒dra, kt≤re tworz▒ wersjΩ
- aplikacji interfejsowych dla PCMCIA Card Services, zestaw sterownik≤w
- klient≤w dla specyficznych kart, oraz demona-mened┐era do kart, kt≤ry
- mo┐e reagowaµ na wk│adanie kart i ich wyjmowanie poprzez │adowanie i
- usuwanie odpowiednich modu│≤w. Obs│uguje on tak┐e tzw. "gor▒ce
- wymiany" kart PCMCIA, tak ┐e karty mog▒ byµ wk│adane i wyjmowane w
- ka┐dej chwili.
-
- Oprogramowanie to jest w ci▒g│ym rozwoju. Zawiera przypuszczalnie
- b│Ωdy i nale┐y go u┐ywaµ ostro┐nie. ZrobiΩ co w mojej mocy, ┐eby
- poprawiµ b│Ωdy zg│aszane do mnie, ale je╢li nie powiesz mi o takim, to
- mogΩ siΩ o nim nigdy nie dowiedzieµ. Je╢li ju┐ u┐yjesz tego
- oprogramowania, mam nadziejΩ, ┐e wy╢lesz mi swoje do╢wiadczenia, z│e
- czy dobre !
-
- Je╢li masz jakie╢ sugestie na temat polepszenia tego dokumentu, daj mi
- znaµ dhinds@hyper.stanford.edu.
-
-
- 1.2. Prawa autorskie i Disclaimer.
-
-
- Copyright (c) 1996, 1997 David A. Hinds
-
- Dokument tez mo┐e byµ reprodukowany lub dystrybuowany bez mojej
- wyra╝nej zgody. Wersje zmodyfikowane, w│▒czaj▒c t│umaczenia na inne
- jΩzyki, mog▒ byµ wolno dystrybuowane, zak│adaj▒c, ┐e s▒ jasno
- identyfikowane jako takie, i ta uwaga o prawach autorskich jest w nich
- zawarta.
-
- Dokument ten mo┐e byµ zawarty w dystrybucjach komercyjnych bez mojej
- wyra╝nej zgody. Poniewa┐ nie jest to wymagane chcia│bym byµ
- powiadomiony o takowych dzia│aniach. Je╢li zamierzasz rozprowadzaµ ten
- dokument jako pracΩ wydawan▒, skontaktuj siΩ ze mn▒, aby upewniµ siΩ,
- ┐e masz najnowsz▒ wersjΩ.
-
- Dokument ten jest rozprowadzany "takim jakim jest", bez wyra╝nych czy
- wynikaj▒cych gwarancji. U┐ywaj informacji zawartych tutaj na swoje
- w│asne ryzyko.
-
-
- 1.3. Jaka jest najnowsza wersja i sk▒d mogΩ j▒ wzi▒µ ?
-
-
- Bie┐▒c▒ g│≤wn▒ wersj▒ Card Services jest wersja 2.9, a pomniejsze
- uaktualnienia czy poprawki b│Ωd≤w s▒ numerowane jako 2.9.1, 2.9.2 itd.
-
- Kod ╝r≤d│owy najnowszej wersji jest dostΩpny pod adresem
- hyper.stanford.edu. Nazywa siΩ pcmcia-cs-2.9.?.tar.gz. BΩdzie tam
- przewa┐nie kilka wersji. Z regu│y trzymam najnowsz▒ podwersjΩ wersji
- g│≤wnej. Nowe wersje g│≤wne mog▒ zawieraµ wzglΩdnie nieprzetestowany
- kod, tak wiΩc trzymam tak┐e najnowsz▒ wersjΩ poprzedniej wersji
- g│≤wnej jako wzglΩdn▒ stabiln▒ wersjΩ, do kt≤rej mo┐na siΩ cofn▒µ;
- bie┐▒c▒ tak▒ wersj▒ jest 2.8.23. To ju┐ zale┐y od ciebie czy
- zdecydujesz siΩ na wersjΩ najnowsz▒ z 2.9.x czy na 2.8.23; w pliku
- CHANGES znajduj▒ siΩ najwa┐niejsze r≤┐nice.
-
- Adres hyper.stanford.edu jest mirrorowany pod adresem sunsite.unc.edu
- w katalogu /pub/Linux/kernel/pcmcia. [Od t│umacza.]Serwer ten z kolei
- jest mirrorowany w Polsce pod adresem ftp.icm.edu.pl.
- Postaram siΩ te┐ umieszczaµ g│≤wne wersje na tsx-11.mit.edu w katalogu
- /pub/linux/packages/laptops/pcmcia teraz i p≤╝niej.
-
- Je╢li nie czujesz siΩ na si│ach, ┐eby skompilowaµ sterowniki do
- PCMCIA, w wersji bie┐▒cej s▒ zawarte pre-kompilowane sterowniki w
- najpopularniejszych dystrybucjach: Slackware, Red Hat, Caldera i
- Yggdrasil, miΩdzy innymi.
-
-
- 1.4. Jakie systemy s▒ obs│ugiwane ?
-
-
- Kod ten powinien dzia│aµ na prawie wszystkich laptopach nadaj▒cych siΩ
- do Linux-a. Obs│ugiwane s▒ wszystkie popularne kontrolery PCMCIA
- w│▒czaj▒c w to Intel, Cirrus, Vadem, VLSI, Ricoh i Databook.
- Kontrolery ustawiane u┐ywane w IBM i Toshiba-ch tak┐e s▒ obs│ugiwane.
- Doki (docks) kart PCMCIA dla system≤w typu desktop tak┐e powinny
- dzia│aµ tak d│ugo, dop≤ki s▒ tego typu, ┐e wk│ada siΩ je bezpo╢rednio
- do szyny ISA, ni┐ poprzez kontrolery SCSI-PCMCIA czy IDE-PCMCIA.
-
- Kontroler Motorola 6AHC05GA u┐ywany w niekt≤rych laptopach Hyundaia
- nie jest obs│ugiwany. Kontrolery ustawiane w HP Omnibook 600 nie s▒
- obs│ugiwane. Kontroler mostka PCI-CardBus (od SMC, Ricoh-a, Cirrus-a i
- TI) jest obecnie obs│ugiwany tylko w przypadku trybu 16-bitowego, a i
- tak obs│uga ta jest ci▒gle trochΩ eksperymentalna.
-
-
- 1.5. Jakie karty PCMCIA s▒ obs│ugiwane?
-
-
- Wersja obecna zawiera sterowniki dla r≤┐nych kart ethernetowych,
- sterownik do modemu, kart port≤w szeregowych, niekt≤rych kontroler≤w
- SCSI, sterownik do kart ATA/IDE oraz sterowniki do kart pamiΩci kt≤re
- powinny obs│ugiwaµ wiΩkszo╢µ kart SRAM i niekt≤re karty flash. Plik
- SUPPORTED.CARDS zawarty w ka┐dej wersji Card Services zawiera
- wszystkie karty jakie dzia│aj▒ w przynajmniej jednym w│a╢ciwym
- systemie.
-
- Prawdopodobie±stwo tego, ┐e karta nie wymieniona w tym pliku bΩdzie
- dzia│aµ zale┐y od typu tej karty. Zasadniczo wszystkie modemy powinny
- dzia│aµ z zawartym sterownikiem. Niekt≤re karty sieciowe mog▒ dzia│aµ
- je╢li s▒ wersjami OEM karty obs│ugiwanej. Inne typy kart IO (bufory
- ramkowe, karty d╝wiΩkowe itd.) nie bΩd▒ dzia│aµ dop≤ki kto╢ nie
- napisze odpowiednich sterownik≤w.
-
-
- 1.6. Kiedy moja nowa karta bΩdzie obs│ugiwana ?
-
-
- Niestety, nikt mi z regu│y nie p│aci za pisanie sterownik≤w, tak wiΩc
- je╢li chcesz mieµ sterownik do swojej ulubionej karty, bΩdziesz
- przypuszczalnie musia│ zrobiµ czΩ╢µ roboty na w│asn▒ rekΩ. W wersji
- idelanej, chcia│bym siΩ kierowaµ w stronΩ modelu zbli┐onego do j▒dra
- Linux-a, gdzie bΩdΩ g│≤wnie odpowiedzialny za "rdze±" kodu do PCMCIA a
- inni autorzy pisaliby sterowniki do konkretnych urz▒dze±. W pliku
- SUPPORTED.CARDS wspomniane s▒ niekt≤re karty, dla kt≤rych sterownik
- jest w trakcie pisania. BΩdΩ siΩ stara│ pom≤c gdzie tylko mogΩ ale
- miej na uwadze, ┐e ╢ledzenie (debugging) sterownik≤w do urz▒dze± w
- j▒drze poprzez e-mail nie jest zbytnio efektywne.
-
- Producenci zainteresowani pomoc▒ w tworzeniu obs│ugi ich urz▒dze± mog▒
- siΩ ze mn▒ skontaktowaµ w sprawie konkret≤w.
-
-
- 1.7. Listy dyskusyjne.
-
-
- Kiedy╢ zajmowa│em siΩ baz▒ danych i list▒ dyskusyjn▒ na temat
- u┐ytkownik≤w Linux-a na PCMCIA. Ostatnio zmieni│em swoj▒ stronΩ WWW z
- informacjami na temat PCMCIA w stronΩ "HyperNews", ze zbiorem
- wiadomo╢ci na temat PCMCIA w Linux-ie. S▒ listy na temat instalacji i
- konfiguracji, na temat r≤┐nych typ≤w kart oraz na temat programowania
- i ╢ledzenia (debug) pod PCMCIA. Strona z informacjami na temat PCMCIA
- jest pod adresem
- http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html
- <http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html>.
- U┐ytkownicy mog▒ ustawiµ sobie opcjΩ informowania poprzez email o
- nowych odpowiedziach na konkretne pytania, albo o wszystkich nowych
- wiadomo╢ciach w danej kategorii. Mam nadziejΩ, ┐e stanie siΩ to
- u┐ytecznym archwium informacji dla pyta±, kt≤re wychodz▒ poza tre╢µ
- tego HOWTO.
-
- Jest lista dyskusyjna, kt≤rej tematem jest Linux na laptopie - lista
- "linux-laptop". Aby uzyskaµ wiΩcej informacji, wy╢lij list zawieraj▒cy
- s│owo "help" na adres majordomo@vger.rutgers.edu. Aby zapisaµ siΩ na
- tΩ listΩ, wy╢lij list zawieraj▒cy │a±cuch "subscribe linux-laptop" na
- ten sam adres. Lista ta mo┐e byµ dobrym forum dyskusyjnym na temat
- Linux-a na PCMCIA.
-
- Na Stronie Domowej Linux-a na Laptopy
- http://www.cs.utexas.edu/users/kharker/linux-laptop znajduje siΩ wiele
- odwo│a± do adres≤w, na kt≤rych s▒ informacje na temat konfigurowania
- Linux-a na konkretnych typach laptop≤w. Jest tak┐e przeszukiwalna baza
- danych na temat konfiguracji systemu.
-
-
- 2. Kompilacja, instalacja i konfiguracja.
-
-
-
- 2.1. Wymagania i ustawienia j▒dra.
-
-
- Zanim zaczniesz, powiniene╢ pomy╢leµ czy rzeczywi╢cie musisz samemu
- skompilowaµ pakiet PCMCIA. Wszyskie popularne dystrybucje Linux-a s▒
- dostarczane wraz z pakietami zawieraj▒cymi skompilowane sterowniki dla
- PCMCIA. Og≤lnie musisz tylko zainstalowaµ od nowa sterowniki je╢li
- potrzebujesz jakiej╢ nowej cechy obecnych sterownik≤w albo je╢li
- zaktualizowa│e╢ czy przekonfigurowa│e╢ j▒dro tak, ┐e przesta│o byµ
- kompatybilne ze sterownikami przychodz▒cymi z dystrybucj▒. Chocia┐
- kompilacja pakietu PCMCIA nie jest trudna technicznie, to wymaga
- jednak pewnego obycia z Linux-em.
-
- NastΩpuj▒ce elementy powinny byµ zainstalowane w twoim systemie zanim
- zaczniesz instalowaµ PCMCIA:
-
-
- ╖ Jedno z nastΩpuj▒cych j▒der: 1.2.8 do 1.2.13, 1.3.30, 1.3.37,
- 1.3.39 do 1.3.99, 1.99.* (czyli, pre-2.0), 2.0.* lub 2.1.*.
-
- ╖ Bie┐▒ca wersja pakietu z modu│ami i narzΩdziami do nich.
-
- ╖ (Opcjonalnie) "Forms" - interface dla u┐ytkownika pod X11.
-
- Wersja najnowsza wymaga j▒dra w wersji 1.2.8 lub wy┐szej, albo j▒dra z
- serii testowych 1.3.30 lub wy┐sze, 1.3.38 jest definitywnie popsute, a
- 1.3.31 do 1.3.36 nie s▒ przetestowane. Wymaga tak┐e wzglΩdnie ╢wie┐ej
- wersji narzΩdzi do modu│≤w. Nie ma │at na j▒dro specyficznych dla
- PCMCIA.
-
- Musiz mieµ pe│ne drzewo ╝r≤de│ j▒dra, nie tylko aktualny obraz j▒dra,
- aby skompilowaµ pakiet PCMCIA. Modu│y PCMCIA zawieraj▒ niekt≤re
- odwo│ania do plik≤w ze ╝r≤de│ j▒dra. O ile ty mo┐esz chcieµ
- skompilowaµ nowe j▒dro, ┐eby usun▒µ niepotrzebne sterowniki,
- instalacja PCMCIA nie wymaga tego.
-
- Bie┐▒ce stabilne wersje ╝r≤de│ j▒dra oraz │aty do niego s▒ dostΩpne
- pod adresem ftp://ftp.icm.edu.pl/pub/Linux/kernel/v2.0. Bie┐▒ca wersja
- narzΩdzi jest pod tym samym adresem w pliku modules-2.0.0.tgz. J▒dra
- w wersji rozwojowej znajduj▒ siΩ pod adresem
- ftp://ftp.icm.edu.pl/pub/Linux/kernel/v2.1.
-
- W pliku Documentation/Changes znajduj▒ siΩ opisy wersji wszystkich
- rodzaj≤w innych sk│adnik≤w systemu, kt≤re s▒ wymagane dla tej wersji
- j▒dra. Mo┐esz sprawdziµ tΩ listΩ i upewniµ siΩ czy tw≤j system jest
- aktualny, szczeg≤lnie je╢li ostatnio uaktualnia│e╢ j▒dro. Je╢li
- u┐ywasz j▒dra 2.1, upewnij siΩ, ┐e u┐ywasz poprawnej kombinacji
- bibliotek dzielonych i narzΩdzi do modu│≤w. Najnowsze wersje narzΩdzi
- do modu│≤w, tak samo jak wersje dla starszych j▒der mo┐na znale╝µ pod
- adresem http://www.pi.se/blox/modules.
-
- Je╢li planujesz u┐ywanie karty ethernetowej PCMCIA podczas
- konfigurowania twojego j▒dra powiniene╢ w│▒czyµ obs│ugΩ sieci, ale
- wy│▒cz obs│ugΩ zwyk│ych kart sieciowych, w│▒czaj▒c w to "pocket and
- portable adapters". Sterowniki do kart sieciowych PCMCIA s▒
- zaimplementowane jako │adowalne modu│y. Jakiekolwiek sterowniki
- wkompilowane w twoje j▒dro bΩd▒ tylko zabieraµ miejsce.
-
- Je╢li chcesz u┐ywaµ SLIP-a, PPP czy PLIP-a musisz albo skonfigurowaµ
- twoje j▒dro z w│▒czonymi tymi opcjami, albo u┐yµ modu│≤w │adowalnych
- tych sterownik≤w. Niestety w j▒drze w wersji 1.2.X nie mo┐na
- skompilowaµ pewnych opcji jako modu│y │adowalne (jak np. kompresja
- SLIP-a) wiΩc najlepiej bΩdzie je╢li wkompilujesz ten sterownik do
- j▒dra je╢li go potrzebujesz.
-
- Je╢li chcesz u┐ywaµ kontrolera Token Ring do PCMCIA, musisz
- wkompilowaµ obs│ugΩ Token Ring do swojego j▒dra - "Token Ring driver
- support", ale powiniene╢ wy│▒czyµ CONFIG_IBMTR.
-
- Je╢li chcesz u┐ywaµ kontrolera IDE PCMCIA, musisz w│▒czyµ opcjΩ
- CONFIG_BLK_DEV_IDE_PCMCIA, w j▒drach w wersji 1.3.72 do 2.1.7. Starsze
- j▒dra nie obs│uguj▒ urz▒dze± IDE. nowsze j▒dra nie wymagaj▒
- specjalnych ustawie±.
-
- Je╢li bΩdziesz u┐ywa│ kontrolera SCSI PCMCIA, powiniene╢ w│▒czyµ opcjΩ
- CONFIG_SCSI podczas konfiguracji j▒dra. W│▒cz tak┐e wszelkie
- sterowniki "top level" (dyski SCSI, ta╢my, CD-ROM-y, generic), kt≤rych
- spodziewasz siΩ u┐ywaµ. Wszystkie sterowniki "low level" dla
- konkretnych kontroler≤w powinny byµ wy│▒czone, poniewa┐ bΩd▒ tylko
- zajmowaµ miejsce.
-
- Je╢li chcesz zmodularyzowaµ sterownik, kt≤ry jest potrzebny do
- urz▒dzenia PCMCIA, musisz zmodyfikowaµ plik /etc/pcmcia/config, aby
- podaµ, kt≤re modu│y maj▒ byµ za│adowane dla kt≤rych typ≤w kart. Na
- przyk│ad, je╢li sterownik szeregowy jest zmodularyzowany, wtedy
- m≤g│by╢ zmieniµ definicjΩ urz▒dzenia szeregowego na:
-
-
-
-
- device "serial_cs"
- class "serial" module "misc/serial", "serial_cs"
-
-
-
- Pakiet ten zawiera narzΩdzie do podawania statusu karty oparte na X11
- - cardinfo. NarzΩdzie to jest oparte na wolno dystrybuowanym
- interfejsie zwanym "Forms Library", kt≤re bΩdziesz musia│ zainstalowaµ
- przed stworzeniem cardinfo. Dystrybucja binarna jest na
- hyper.stanford.edu. S▒ tam wersje a.out oraz ELF. BΩdziesz tak┐e
- musia│ mieµ wszystkie normalne pliki nag│≤wkowe pod X i biblioteki.
-
-
- 2.2. Instalacja.
-
-
- Oto streszczenie procesu instalacji:
-
-
- ╖ Rozpakuj pcmcia-cs-2.9.?.tar.gz w /usr/src.
-
- ╖ Uruchom make config w nowym katalogu pcmcia-cs-2.9.?
-
- ╖ Uruchom make all, potem make install.
-
- ╖ Ustaw skrypty startowe dla PCMCIA i pliki opcji w /etc/pcmcia
- odpowiednio dla twojego systemu.
-
- Je╢li planujesz zainstalowaµ jakie╢ dodatkowe sterowniki klienta nie
- zawarte w dystrybucji PCMCIA, rozpakuj ka┐dy z nich w g│≤wnym katalogu
- ╝r≤de│ PCMCIA. Potem postΩpuj zgodnie z normalnymi instrukcjami
- kompilacji. Dodatkowe sterowniki zostan▒ skompilowane i zainstalowane
- automatycznie.
-
- Uruchomienie make config zapyta o kilka opcji konfiguracyjnych i
- sprawdzi tw≤j system, aby zweryfikowaµ czy spe│nia on wszystkie
- wymagania instalacji obs│ugi PCMCIA. W wiΩkszo╢ci przypadk≤w, bΩdziesz
- po prostu akceptowa│ wszystkie domy╢lne opcje. Upewnij siΩ, ┐e
- dok│adnie sprawdzi│e╢ komunikaty wyj╢ciowe w razie b│Ωd≤w.
-
- Je╢li kompilujesz zestaw PCMCIA do instalacji na inn▒ maszynΩ, podaj
- alternatywny katalog docelowy kiedy zostaniesz zapytany przez skrypt
- konfiguracyjny. Powinna to byµ ╢cie┐ka bezwzglΩdna. Wszystkie
- narzΩdzia do PCMCIA zostan▒ zainstalowane wzglΩdem tego katalogu.
- BΩdziesz m≤g│ nastΩpnie "zarchiwizowaµ" ten katalog poleceniem tar i
- skopiowaµ go na maszynΩ docelow▒, a nastΩpnie rozpakowaµ wzglΩdem jej
- katalogo g│≤wnego, aby zainstalowaµ wszystko we w│a╢ciwym miejscu.
-
- Je╢li "cross-kompilujesz" na innej maszynie, mo┐esz podaµ alternatywne
- nazwy kompilatora i linkera. Mo┐e to byµ tak┐e pomocne na systemach z
- pomieszan▒ architektur▒ a.out i ELF. Skrypt zapyta tak┐e o dodatkowe
- opcje ╢ledzenia dla kompilatora.
-
- Niekt≤re z narzΩdzi wspieraj▒cych (cardctl i cardinfo) mog▒ byµ
- skompilowane w formie "safe" (bezpiecznej) lub "trusting" (ufaj▒cej).
- Forma bezpieczna nie pozwala u┐ytkownikom innym ni┐ root na
- modyfikacjΩ konfiguracji karty. Forma ufaj▒ca pozwala zwyk│emu
- u┐ytkownikowi na zawieszenie, odwieszenie i reset karty oraz na zmianΩ
- bie┐▒cej konfiguracji. Skrypt konfiguracyjny zapyta ciΩ czy chcesz
- skompilowaµ narzΩdzia jako "safe" czy "trusting"; warto╢ci▒ domy╢ln▒
- jest "safe".
-
- Jest kilka opcji konfiguracji j▒dra kt≤re maj▒ wp│ywa na narzΩdzia do
- PCMCIA. Skrypt konfiguracyjny mo┐e je wywnioskowaµ z dzia│aj▒cego
- j▒dra (najpopularniejszy przypadek). Alternatywnie, je╢li kompilujesz
- do instalacji na inn▒ maszynΩ mo┐e przeczytaµ konfiguracjΩ z drzewa
- ╝r≤de│ j▒dra, albo ka┐da opcja mo┐e byµ podana interaktywnie.
-
- Uruchomienie make all a potem make install stworzy i nastΩpnie
- zainstaluje modu│y do j▒dra i programy narzΩdziowe. Modu│y do j▒dra
- s▒ instalowane w /lib/modules/<wersja>/pcmcia. Programy cardmgr i
- cardctl s▒ instalowane w /sbin. Je╢li tworzony jest cardinfo, to
- instalowany jest on w /usr/bin/X11.
-
- Pliki konfiguracyjne zostan▒ zainstalowane w /etc/pcmcia. Je╢li
- instalujesz na starej wersji, twoje stare pliki konfiguracyjne zostan▒
- zarchiwizowane przed skasowaniem ich. Zachowanym skryptom zostan▒
- nadane rozszerzenia w stylu *.~1~, *.~2~.
-
- Je╢li nie wiesz jakiego typu jest tw≤j kontroler, to mo┐esz u┐yµ
- narzΩdzia probe z podkatalogu cardmgr, aby go wykryµ. S▒ dwa g│≤wne
- typy: Databook TCIC-2 i kompatybilne z Intel i82365SL.
-
- Demon na poziomie u┐ytkownika obs│uguje w│o┐enie i wyjΩcie karty.
- Nazywa siΩ on cardmgr. Jest podobny w funkcjonowaniu do wcze╢niejszej
- wersji pcmciad Barry'ego Jaspana. Cardmgr czyta plik konfiguracyjny
- opisuj▒cy znane karty PCMCIA z /etc/pcmcia/config. W pliku tym zawarte
- jest jakie zasoby mog▒ byµ zaalokowane dla u┐ycia przez urz▒dzenia
- PCMCIA, i mog▒ byµ zmodyfikowane dla twojego systemu. Zobacz stronΩ w
- podrΩczniku systemowym "man" na temat pcmcia, aby dowiedzieµ siΩ
- wiΩcej na temat tego pliku.
-
-
- 2.3. Post-instalacja dla system≤w u┐ywaj▒cych skrypt≤w inicjacyjnych
- a'la BSD.
-
-
- Niekt≤re dystrybucje Linux-a, w│▒czaj▒c Slackware, u┐ywaj▒ systemu
- skrypt≤w a'la BSD. Je╢li istnieje plik /etc/rc.d/rc.M, to tw≤j system
- zalicza siΩ do tej grupy.
- Skrypt rc.pcmcia, zainstalowany w /etc/rc.d kontroluje startowanie i
- wy│▒czanie systemu PCMCIA.
- make install u┐yje polecenia probe, aby wykryµ typ twojego kontrolera
- i odpowiednio zmodyfikowaµ rc.pcmcia. Powiniene╢ dodaµ do skryptu
- startowego /etc/rc.d/rc.M liniΩ, kt≤ra wywo│uje skrypt startowy
- PCMCIA, np. tak:
-
-
- /etc/rc.d/rc.pcmcia start
-
-
-
- W│a╢ciwie nie ma znaczenia, gdzie umie╢cisz ten plik, tak d│ugo jak
- sterowniki PCMCIA s▒ startowane po syslogd.
-
-
- 2.4. Post-instalacja dla system≤w u┐ywaj▒cych skrypt≤w inicjacyjnych
- a'la SYS V.
-
-
- Red Hat, Caldera i Debian maj▒ ten w│a╢nie system. Je╢li masz katalog
- /etc/init.d albo /etc/rc.d/init.d, to tw≤j system jest w tej grupie.
- Skrypt rc.pcmcia zostanie zainstalowany jako /etc/rc.d/init.d/pcmcia,
- lub /etc/init.d/pcmcia. Nie ma potrzeby edytowania ┐adnego skryptu
- startowego, aby w│▒czyµ PCMCIA: zostanie to zrobione automatycznie.
-
- Je╢li istnieje katalog /etc/sysconfig, wtedy zostanie utworzony
- oddzielny plik konfiguracyjny /etc/sysconfig/pcmcia z opcjami
- startowymi. Je╢li musisz zmieniµ jakiekolwiek opcje modu│≤w (jak PCIC=
- czy PCIC_OPTS=) modyfikuj raczej ten plik konfiguracyjny ani┐eli
- w│a╢ciwy skrypt startowy PCMCIA. Plik ten nie zostanie skasowny przez
- kolejne instalacje.
- Niekt≤re wcze╢niejsze wersje u┐ywa│y katalogu /etc/sysconfig/pcmcia-
- scripts zamiast /etc/pcmcia na tych platformach. Wersja bie┐▒ca
- natomiast u┐ywa /etc/pcmcia dla wszystkich system≤w, a istniej▒cy
- /etc/sysconfig/pcmcia-scripts przeniesie do /etc/pcmcia.
-
-
- 2.5. Opcje konfiguracji specyficzne dla danego systemu.
-
-
- Pakiet Card Services powinien automatycznie zapobiegaµ alokacji port≤w
- IO i przerwa±, kt≤re s▒ ju┐ u┐ywane przez inne urz▒dzenia. Spr≤buje
- on tak┐e wykryµ konflikty z nieznanymi urz▒dzeniami, ale nie jest to w
- pe│ni godne zaufania. W niekt≤rych przypadkach, muisz wyra╝nie podaµ
- zasoby, kt≤re maj▒ byµ niedostΩpne dla danego urz▒dzenia w pliku
- /etc/pcmcia/config.opts.
-
- Oto niekt≤re ustawienia zasob≤w dla specyficznych typ≤w laptop≤w.
-
-
- ╖ W AMS SoundPro wy│▒cz IRQ 10.
-
- ╖ W niekt≤rych modelach TravelPro 5300 u┐yj adres≤w pamiΩci
- 0xc8000-0xcffff.
-
- ╖ W BMX 486DX2-66 wy│▒cz IRQ 5 i 9
-
- ╖ W Chicony NB5 u┐yj adres≤w pamiΩci 0xda000-0xdFFFF.
-
- ╖ Na Compaq Presario 1020, wy│▒cz porty 0x2F8-0x2FF, IRQ 3 i IRQ 5.
-
- ╖ W HP Omnibook 4000C wy│▒cz porty 0x300-0x30F.
-
- ╖ Na Micron Millenia Transport, wy│▒cz IRQ 5, IRQ 9.
-
- ╖ W NEC Versa M, wy│▒cz IRQ 9 i porty 0x2E0-2FF.
-
- ╖ W NEC Versa P/75 wy│▒cz IRQ 5 i 9.
-
- ╖ W NEC Versa S wy│▒cz IRQ 9 i 12.
-
- ╖ W NEC Versa seria 6000 wy│▒cz porty 0x300-0x33f, IRQ 9 i 10.
-
- ╖ W ProStar 9200, Altima Virage i Acquiline Hurricane DX4-100 wy│▒cz
- IRQ 5 i porty 0x330-0x35f. U┐yj mo┐e adres≤w pamiΩci
- 0xd8000-0xdffff.
-
- ╖ W Siemens Nixdorf SIMATIC PG 720C u┐yj adres≤w pamiΩci
- 0xc0000-0xcffff i port≤w 0x300-0x3bf.
-
- ╖ W TI TravelMate 5000 u┐yj adres≤w pamiΩci 0xd4000-0xdffff.
-
- ╖ W Toshiba T4900 CT wy│▒cz IRQ 5, porty 0x2E0-0x2E8 i 0x330-0x338.
-
- ╖ W Twinhead 5100, HP 4000, Sharp PC-8700 i PC-8900 wy│▒cz IRQ 9
- (d╝wiΩk) i 12
-
- ╖ W MPC seria 800 wy│▒cz IRQ i porty 0x300-0x30f dla CD-ROM-u.
-
- Niekt≤re kontrolery PCMCIA maj▒ opcjonalne zalety, kt≤re mog▒ byµ
- zaimplementowane w danym systemie, ale nie musz▒. Generalnie jest
- niemo┐liwe dla sterownika gniazdka (socket driver), aby wykryµ czy te
- zalety s▒ zaimplementowane. Sprawd╝ stronΩ w podrΩczniku systemowym na
- temat swojego sterownika, aby zobaczyµ jakie opcjonalne zalety mog▒
- byµ w│▒czone.
-
-
- W kilku przypadkach polecenie probe nie bΩdzie w stanie wykryµ
- automatycznie typu twojego kontrolera. Je╢li masz system Halikan NBD
- 486, to jego kontroler TCIC-2 znajduje siΩ w niezwyk│ym miejscu:
- bΩdziesz musia│ zmodyfikowaµ rc.pcmcia, aby za│adowaµ modu│ tcic oraz
- ustawiµ PCIC_OPTS na tcic_base=0x2C0.
-
- Sterowniki gniazda typu "low level" tcic i i82365 maj▒ liczne
- parametry do timing-≤w szyny, kt≤re mo┐e bΩdzie trzeba ustawiµ dla
- system≤w ze szczeg≤lnie szybkimi procesorami. Symptomy problem≤w z
- timing-ami zawieraj▒ problemy z wykryciem karty, zawi╢niΩcia przy
- du┐ym za│adowaniu systemu, du┐e ╢rednie b│Ωd≤w, albo z│a wydajno╢µ
- urz▒dze±. Sprawd╝ odpowiednie strony w podrΩczniku systemowym, aby
- dowiedzieµ siΩ wiΩcej szczeg≤│≤w. A tu jest kr≤tkie podsumowanie:
-
-
- ╖ Kontrolery Cirrus maj▒ liczne konfigurowalne parametry timing-≤w.
- Najwa┐niejszy wydaje siΩ byµ cmd_time, kt≤ry okre╢la d│ugo╢µ cyklu
- szyny PCMCIA. Szybkie systemy 486 (np. DX4-100) wydaj▒ siΩ
- zwiΩkszaµ wydajno╢µ przy zwiΩkszeniu tego parametru z domy╢lnej
- warto╢ci 6 na 12 czy 16.
-
- ╖ Kontroler Cirrus PD6729 PCI ma parametr fast_pci, kt≤ry powinien
- byµ ustawiony je╢li szybko╢µ szyny PCI jest wiΩksza ni┐ 25 MHz.
-
- ╖ W kontrolerach Vadem VG-468 i Databook TCIC-2 parametr async_clock
- zmienia wzglΩdne taktowanie szyny PCMCIA i cykle szyny host.
- Ustawienie tego parametru spowoduje dodanie stan≤w oczekiwania na
- niekt≤re operacje. Chocia┐ jeszcze nie s│ysza│em o jakim╢ laptopie,
- kt≤ry by tego potrzebowa│.
-
- ╖ Modu│ pcmcia_core posiada parametr cis_speed, kt≤ry zmienia
- prΩdko╢µ pamiΩci u┐ywan▒ dla dostΩpu do Card Information Structure
- (CIS). Na niekt≤rych systemach z szybkimi zegarami szynowymi,
- zwiΩkszanie tego parametru (czyli zwalnianie dostΩpu do kart) mo┐e
- przynie╢µ po┐ytek przy problemach z rozpoznaniem karty.
-
- ╖ To nie jest sprawa timing-≤w, ale je╢li masz wiΩcej ni┐ jeden
- kontroler PCMCIA w twoim systemie, albo jakie╢ dodatkowe gniazda w
- stacji dokowania (docking station), powiniene╢ za│adowaµ modu│
- i82365 z parametrem extra_sockets ustawionym na 1.
-
- Wszystkie te opcje powinny byµ skonfigurowane przez modyfikowanie
- pocz▒tku pliku /etc/rc.d/rc.pcmcia. Na przyk│ad:
-
-
- # Albo i82365 albo tic
- PCIC=i82365
- # Wstaw tu parametry timing-≤w dla sterownika gniazd
- PCIC_OPTS="cmd_time=12"
- # Wstaw tu opcje pcmcia_core
- CORE_OPTS="cis_speed=500"
-
-
-
- Oto niekt≤re ustawienia timing-≤w dla specyficznych sytem≤w:
-
-
- ╖ W ARM Pentium-90 albo Midwest Micro Soundbook Plus u┐yj
- freq_bypass=1 cmd_time=8.
-
- ╖ W Midwest Micro Soundbook Elite u┐yj cmd_time=12.
-
- ╖ W Gateway Liberty spr≤buj cmd_time=16.
-
- W niekt≤rych systemach u┐ywaj▒cych kontrolera Cirrusa, w│▒czaj▒c NEC
- Versa M, BIOS ustawia kontroler w specyficzny stan zawieszenia podczas
- startu systemu. W tych systemach, polecenie probe nie powiedzie siΩ.
- Je╢li tak siΩ zdarzy, zmodyfikuj plik /etc/rc.d/rc.pcmcia rΩcznie tak:
-
-
- # Wstaw tu parametry timing-≤w dla sterownika gniazd
- PCIC=i82365
- # Wstaw tu opcje pcmcia_core
- PCIC_OPTS="wakeup=1"
-
-
-
-
- 2.6. Problemy podczas │adowania modu│≤w j▒dra.
-
-
- Skrypt konfiguracyjny normalnie upewni siΩ czy modu│y PCMCIA s▒
- kompatybilne z twoim j▒drem. Tak wiΩc, problemy podczas │adownia
- modu│≤w wskazuje z regu│y na to, ┐e u┐ytkownik ingerowa│ w jaki╢
- spos≤b w normalny proces instalacji. Niekt≤re z tych problem≤w s▒
- wysy│ane bezpo╢rednio na konsolΩ Linux-a. Inne b│Ωdy s▒ zapisywane w
- pliku "log-file", zwykle jest to /usr/adm/messages albo
- /var/log/messages. W zale┐no╢ci od konfiguracji twojego syslogd,
- niekt≤re komunikaty mog▒ byµ zapisane do innych plik≤w, kt≤re zwykle
- znajduj▒ siΩ tak┐e w /usr/adm czy var/log. Aby wy╢ledziµ problem,
- upewnij siΩ, ┐e sprawdzi│e╢ obie lokalizacje.
-
- Niekt≤re modu│y PCMCIA wymagaj▒ serwis≤w j▒dra, kt≤re mog▒, ale nie
- musz▒ byµ obecne, zale┐nie od konfiguracji j▒dra. Na przyk│ad,
- sterowniki kart SCSI wymagaj▒ skonfigurowanej obs│ugi SCSI w j▒drze, a
- sterowniki sieci wymagaj▒ skonfigurowania sieci w j▒drze. Je╢li w
- j▒drze brakuje potrzebnego serwisu insmod mo┐e twierdziµ, ┐e s▒
- niezdefiniowane symbole i nie za│adowaµ modu│u.
-
- Je╢li insmod zwraca b│▒d "wrong version", oznacza to, ┐e modu│ by│
- skompilowany dla innej wersji j▒dra ni┐ to, kt≤re akurat dzia│a. Mo┐e
- to siΩ pojawiµ je╢li modu│y skompilowane na jednej maszynie s▒
- kopiowane na drug▒ z inn▒ konfiguracj▒, albo je╢li j▒dro jest
- rekonfigurowane po tym, jak pakiet PCMCIA zosta│ zainstalowany.
-
- Innym ╝r≤d│em b│Ωd≤w podczas │adowana modu│≤w mo┐e byµ to, ┐e modu│y i
- j▒dra by│y skompilowane z r≤┐nymi ustawieniami CONFIG_MODVERSIONS.
- Je╢li modu│ z wkompilowanym sprawdzaniem wersji jest │adowany do j▒dra
- bez sprawdzania wersji, insmod zwr≤ci b│▒d "undefined symbols".
-
- Ostatecznie, wzglΩdnie nowe wersje binutils s▒ niekompatybilne ze
- starszymi wersjami narzΩdzi do modu│≤w, i mog▒ powodowaµ, ┐e s▒
- zwracane takie w│a╢nie b│Ωdy. NajczΩstszym symptomem jest b│▒d o
- niezdefiniowaniu gcc_compiled. Je╢li masz takie b│Ωdy, od╢wie┐
- narzΩdzia do modu│≤w do najnowszej wersji, dostΩpnych z
- ftp.icm.edu.pl.
-
-
- 2.7. Problemy z przerwaniem zmiany statusu karty.
-
-
- W wiΩkszo╢µi wypadk≤w sterownik do gniazd (i82365 albo tcic)
- automatycznie wykryje i wybierze odpowiednie przerwanie, aby
- sygnalizowaµ zmiany statusu karty. Automatyczne wyszukiwanie
- przerwania nie dzia│a na niekt≤rych kontrolerach kompatybilnych z
- Intel-em, w│▒czaj▒c Cirrus-a i niekt≤re IBM ThinkPad. Je╢li urz▒dzenie
- nie jest aktywne w czasie sprawdzania, jego przerwanie mo┐e tak┐e
- pojawiµ siΩ jako niedostΩpne. W takich przypadkach sterownik gniazd
- mo┐e wybraµ przerwanie kt≤re jest u┐ywane przez inne urz▒dzenie.
-
- W sterownikach i82365 i tcic mo┐na u┐ywaµ opcji irq_list aby
- ograniczyµ ilo╢µ wyszukiwanych przerwa±. Lista ta ogranicza zbi≤r
- przerwa±, kt≤re mog▒ byµ u┐yte przez karty PCMCIA oraz do
- monitorowania zmian statusu karty. Opcja cs_irq mo┐e byµ u┐yta, aby
- wyra╝nie okre╢liµ przerwanie, kt≤rego nale┐y u┐yµ do monitorowania
- zmian statusu karty.
-
- Je╢li nie mo┐esz znale╝µ numeru przerwania, kt≤re dzia│a, jest jeszcze
- tryb statusu "polled": oba - i82365 i tcic zaakceptuj▒ opcjΩ
- poll_interval=100, aby sprawdzaµ zmiany statusu karty raz na sekundΩ.
- Opcja ta powinna byµ tak┐e u┐ywana je╢li w twoim systemie brakuje
- dostΩpnych przerwa± dla kart PCMCIA. Szczeg≤lnie w systemach z wiΩcej
- ni┐ jednym kontrolerem PCMCIA, nie ma zbytnio sensu w przeznaczaniu
- przerwa± na monitorowanie zmian statusu kart.
-
- Wszystkie te opcje powinny byµ ustawiane w linii PCIC_OPTS= w pliku
- /etc/rc.d/rc.pcmcia albo /etc/sysconfig/pcmcia zale┐nie od twojego
- systemu.
-
-
- 2.8. Problemy z identyfikacj▒ karty.
-
-
- Domy╢lnie, sterowniki PCMCIA alokuj▒ okna pamiΩci w przestrzeni
- 0xC0000-0xFFFFF, po sprawdzeniu czy nie ma w niej jakich╢ konflikt≤w z
- ROM-em czy innymi urz▒dzeniami. To okno pamiΩci jest podane w pliku
- /etc/pcmcia/config.opts. Sprawdzanie ma miejsce przy pierwszej pr≤bie
- skonfigurowania nowej karty. Procedura sprawdzania nie jest idioto-
- odporna, wiΩc mo┐liwe jest niezidentyfikowanie konfliktu. Je╢li obszar
- ten jest u┐ywany przez inne urz▒dzenia w twoim systemie, karty mog▒
- nie zostaµ zidentyfikowane poprawnie. Przy uk│adach kt≤re to
- obs│uguj▒, konflikt mo┐e te┐ powstawaµ przy przes│anianiu tego obszaru
- pamiΩci.
-
- Klasycznym symptomem problemu z konfiguracj▒ okna pamiΩci jest
- zidentyfikowanie wszystkich kart jako karty pamiΩci. W nadzwyczajnych
- przypadkach konflikt taki mo┐e powstaµ z jakim╢ krytycznym serwisem
- systemowym, co mo┐e powodowaµ zawieszenia czy restarty. Je╢li
- podejrzewasz taki konflikt, sprawd╝ najpierw czy wy│▒czone jest
- przes│anianie ROM-u w ustawieniach twojego sprzΩtu. Znalezienie
- dobrego okna mo┐e wymagaµ trochΩ eksperyment≤w. Kilka alternatywnych
- okien to: 0xD0000-0xDFFFF, 0xC9000-0xCFFFF i 0xD8000-0xDFFFF.
-
- Je╢li masz sterowniki DOS-owe do PCMCIA, mo┐esz zobaczyµ jakich
- obszar≤w pamiΩci one u┐ywaj▒. Zauwa┐, ┐e adresy pamiΩci w DOS-ie s▒
- czΩsto podawane w formie segment≤w, kt≤ra to obcina ostatni▒ cyfrΩ
- szesnastkow▒ (tak, ┐e adres bezwzglΩdny 0xD0000 by│by podany jako
- 0xD000. Upewnij siΩ, ┐e doda│e╢ tΩ jedn▒ cyfrΩ kiedy wpisywa│e╢
- warto╢µ do pliku /etc/pcmcia/config.opts.
-
- Je╢li problem z identyfikacj▒ karty nie zosta│ rozwi▒zany
- dopasowywaniem okien pamiΩci, to prawdopodobnie jest to problem z
- "timing-ami"
-
-
- 2.9. Dlaczego nie dystrybujesz binari≤w do PCMCIA ?
-
-
- Dla mnie, dystrybucja binari≤w jest bardzo niewygodna. Jest to sprawa
- skomplikowana poniewa┐ niekt≤re zalety mog▒ byµ podane dopiero w
- czasie kompilacji, oraz dlatego, ┐e modu│y PCMCIA s▒ zale┐ne od
- "poprawnej" konfiguracji j▒dra. WiΩc musia│bym przypuszczalnie
- dystrybu│owaµ prekompilowane modu│y wraz z odpowiednimi wersjami
- j▒der. Id▒c dalej, prekompilowane modu│y s▒ najbardziej potrzebne
- kiedy instalujemy Linux-a od pocz▒tku. To z regu│y wymaga ustawienia
- PCMCIA tak, ┐eby mo┐na jej by│o u┐yµ w procesie instalacji dla
- konkretnej dystrybucji Linux-a. Ka┐da dystrybucja Linux-a ma w│asn▒
- procedurΩ, i nie jest dla mnie wykonalnym udostΩpniaµ dyskietki "boot"
- i "root" chcocia┐by tylko dla tych najbardziej popularnych kombinacji
- sterownik≤w i dystrybucji.
-
- PCMCIA jest teraz czΩ╢ci▒ wiΩkszo╢ci wa┐niejszych dystrybucji,
- w│▒czaj▒c Red Hat, Caldera, Slackware, Yggdrasil, Craftworks oraz
- Nascent Technology.
-
-
- 2.10. Dlaczego ten pakiet jest taki wielki ?
-
-
- No c≤┐, po pierwsze, to on wcale nie jest taki wielki. Wszystkie
- modu│y sterownik≤w razem wziΩte zajmuj▒ jakie╢ 200k. Programy
- narzΩdziowe dodaj▒ jeszcze jakie╢ 70k, a rzeczy w /etc/pcmcia zajmuj▒
- jakie╢ 30k. Podczas dzia│ania, rdze± modu│≤w PCMCIA zabiera oko│o 48k
- pamiΩci systemowej. Demon cardmgr z regu│y jest wyswapowywany opr≤cz
- moment≤w kiedy karty s▒ wsadzane lub wyjmowane. Ca│kowita objΩto╢µ
- pakietu nie wiele r≤┐ni siΩ od implementacji Card Services pod DOS-a.
-
- W por≤wnaniu z DOS-owymi "w│▒cznikami", mo┐e siΩ to wydawaµ trochΩ
- przesadzone, szczeg≤lnie dla ludzi, kt≤rzy nie planuj▒ u┐ywaµ tych
- wszystkich zalet jakie posiada PCMCIA, jak np. zarz▒dzanie zasilaniem
- czy "gor▒ce wymiany". "W│▒czniki" mog▒ byµ malutkie poniewa┐
- generalnie obs│uguj▒ one ograniczon▒ ilo╢µ kontroler≤w PCMCIA. Je╢li
- kto╢ mia│by napisaµ autentycznie "og≤lny" "w│▒cznik" do modemu,
- sko±ycz│oby siΩ na tym, ┐e pojawi│aby siΩ tam wiΩkszo╢µ funkcji z Card
- Services, aby obs│u┐yµ karty od r≤┐nych sprzedawc≤w oraz pe│ny zakres
- r≤┐nych wariant≤w kontroler≤w PCMCIA.
-
-
- 3. Stosowanie i zalety.
-
-
-
- 3.1. NarzΩdzia do monitorowania urz▒dze± PCMCIA.
-
-
- Demon cardmgr normalnie wydaje sygna│ d╝wiΩkowy (beep) kiedy karta
- jest wsadzana, a ton tego d╝wiΩku informuje nas o statusie nowo
- w│o┐onej karty. D╝wiΩk wysoki a po nim niski informuje, ┐e karta
- zosta│a zidentyfikowana, ale z jakiego╢ powodu nie mog│a zostaµ
- skonfigurowana. Jeden d╝wiΩk niski informuje, ┐e karta nie mog│a
- zostaµ zidentyfikowana.
-
- Je╢li wszystkie modu│y s▒ poprawnie za│adowane, polecenie lsmod daje
- mniej wiΩcej taki wynik (bez w│o┐onych kart):
-
-
- Module: #pages: Used by:
- ds 2
- i82365 3
- pcmcia_core 7 [ds i82365]
-
-
-
- Wszystkie modu│y PCMCIA oraz demon cardmgr wysy│aj▒ komunikaty o
- statusie do systemowego programu loguj▒cego. BΩdzie to z regu│y
- /var/log/messages albo /usr/adm/messages. Powinno to byµ pierwsze
- miejsce, do kt≤rego nale┐y zajrzeµ kiedy co╢ nie dzia│a. Kiedy
- wysy│asz mi wiadomo╢µ o jakim╢ b│Ωdzie, zawsze do│▒cz zawarto╢µ tego
- pliku. Je╢li nie mo┐esz znale╝µ komunikat≤w z twojego systemu, to
- sprawd╝ konfiguracjΩ w pliku /etc/syslogd.conf, aby zobaczyµ do jakich
- plik≤w s▒ one zapisywane. Cardmgr tak┐e zapisuje niekt≤re bie┐▒ce
- informacje o urz▒dzeniach dla ka┐dego gniazda w pliku /var/run/stab.
- Oto przyk│adowa zawarto╢µ tego pliku:
-
- Socket 0: Adaptec APA-1460 SlimSCSI
- 0 scsi aha152x_cs 0 sda 8 0
- 0 scsi aha152x_cs 1 scd0 11 0
- Socket 1: Serial or Modem Card
- 1 serial serial_cs 0 ttyS1 5 65
-
-
-
- W liniach opisuj▒cych urz▒dzenia, pierwsze pole jest gniazdem, drugie
- - klas▒ urz▒dzenia, trzecie - nazw▒ sterownika, czwarte jest u┐ywane,
- aby numerowaµ urz▒dzenia z│o┐one (multiple devices) zwi▒zane z tym
- samym sterownikiem, pi▒te - nazw▒ urz▒dzenia, a ostatnie dwa pola s▒
- liczb▒ g│≤wn▒ i poboczn▒ dla danego urz▒dzenia (je╢li jest dostΩpne).
-
- Polecenie cardctl mo┐e s│u┐yµ do sprawdzenia statusu gniazda, albo
- jego konfiguracji. Oto przyk│adowy rezultat polecenia "cardctl
- config":
-
-
-
- Socket 0:
- Socket 1:
- Vcc = 5.0, Vpp1 = 0.0, Vpp2 = 0.0
- Card type is memory and I/O
- IRQ 3 is dynamic shared, level mode, enabled
- Speaker output is enabled
- Function 0:
- Config register base = 0x0800
- Option = 0x63, status = 0x08
- I/O window 1: 0x0280 to 0x02bf, auto sized
- I/O window 2: 0x02f8 to 0x02ff, 8 bit
-
-
-
-
- Je╢li masz uruchomione X-y, to narzΩdzie cardinfo wy╢wietla informacje
- o statusie wszystkich gniazd PCMCIA, podobn▒ w zawarto╢ci do "cardctl
- config".
-
-
- 3.2. Przegl▒d skrypt≤w konfiguracyjnych PCMCIA.
-
-
- Ka┐de urz▒dzenie PCMCIA jest przyporz▒dkowane jakiej╢ klasie, kt≤ra
- opisuje jak powinno ono zostaµ skonfigurowane i jak nim zarz▒dzaµ.
- Klasy s▒ zwi▒zane ze sterownikami urz▒dze± w /etc/pcmcia/config. Jest
- w tej chwili piΩµ klas urz▒dze± IO (sieµ, SCSI, CD-ROM, dyski fixed i
- szeregowe) oraz dwie klasy urz▒dze± zwi▒zanych z pamiΩci▒ (pamiΩµ i
- FTL). Dla ka┐dej klasy s▒ dwa skrypty w /etc/pcmcia/config: g│≤wny
- skrypt konfiguracyjny (/etc/pcmcia/scsi dla urz▒dze± SCSI), i skrypt z
- opcjami (/etc/pcmcia/scsi.opts). Skrypt g│≤wny dla danego urz▒dzenia
- zostanie wywo│any, aby skonfigurowaµ to urz▒dzenie kiedy karta jest
- wk│adana, i ┐eby wy│▒czyµ dane urz▒dzenie kiedy karta jest wyjmowana.
- Dla kart, z kt≤rymi jest zwi▒zane kilka urz▒dze±, skrypt zostanie
- wywo│any dla ka┐dego urz▒dzenia.
-
- Skrypty konfiguracyjne zaczynaj▒ od wyci▒gniΩcia pewnych informacji o
- danym urz▒dzeniu z pliku /var/run/stab. Ka┐dy skrypt konstruuje
- "adres urz▒dzenia" w zmiennej ADDRESS, kt≤ry jest unikatowy dla
- urz▒dzenia, kt≤re ma byµ skonfigurowane. Jest to przekazywane do
- skryptu *.opts, kt≤ry powinien zwr≤ciµ informacjΩ o tym, jak dane
- urz▒dzenie z podanego adresu powinno zostaµ skonfigurowane. Dla
- niekt≤rych urz▒dze±, adres ten jest po prostu numerem gniazda. Dla
- innych, zawiera on dodatkowe informacje, kt≤re mog▒ byµ przydatne do
- zadecydowania jak skonfigurowaµ dane urz▒dzenie. Na przyk│ad,
- urz▒dzenia sieciowe przekazuj▒ sw≤j adres Ethernet-owy jako czΩ╢µ
- swojego "adresu urz▒dzenia", tak ┐eby skrypt network.opts m≤g│ tego
- u┐yµ, aby wybraµ z kilku r≤┐nych konfiguracji.
-
- Pierwsz▒ czΩ╢ci▒ wszystkich adres≤w urz▒dze± jest bie┐▒cy schemat
- PCMCIA. Parametr ten jest u┐ywany do obs│ugi z│o┐onych zbior≤w
- konfiguracji urz▒dze± opartych na pojedynczej zewnΩtrznej zmiennej
- podanej przez u┐ytkownika. Jeden ze sposob≤w u┐ycia schemat≤w to
- posiadanie schematu domowego, i schematu roboczego, kt≤ry zawiera│by
- r≤┐ne zbiory parametr≤w konfiguracji sieci. Schemat bie┐▒cy jest
- wybierany przy pomocy polecenia cardctl. Domy╢lnym schematem, je╢li
- ┐aden nie jest podany, jest "default".
-
- Jako zasada og≤lna podczas konfiguracji Linux-a na laptopa, urz▒dzenia
- PCMCIA powinny byµ konfigurowane tylko przy pomocy skrypt≤w do
- urz▒dze± PCMCIA. Nie pr≤buj konfigurowaµ urz▒dzenia PCMCIA w ten sam
- spos≤b co urz▒dzenie do│▒czone na sta│e.
-
-
- 3.3. Adaptery sieciowe PCMCIA.
-
-
- Normalnie interfejsy sieciowe typu Ethernet na Linux-ie maj▒ nazwy
- eth0, eth1 itd. Kontrolery Token-Ring s▒ obs│ugiwane podobnie, chocia┐
- nazywane s▒ tr0, tr1 itd. Polecenie ifconfig jest wywo│ywane, aby
- zobaczyµ albo zmodyfikowaµ stan urz▒dzenia sieciowego. W│asno╢ci▒
- Linux-a jest to, ┐e interfejsy sieciowe nie maj▒ odpowiednich plik≤w w
- katalogu /dev, wiΩc nie b▒d╝ zaskoczony, ┐e nie mo┐esz ich znale╝µ.
-
- Kiedy zostanie wykryta karta Ethernet-owa PCMCIA, zostanie jej
- przydzielona pierwsza wolna nazwa interfejsu, kt≤r▒ bΩdzie
- przypuszczalnie eth0. Cardmgr wykona skrypt /etc/pcmcia/network, aby
- skonfigurowaµ ten interfejs.
-
- Nie konfiguruj swojej karty Ethernet-owej w /etc/rc.d/rc.inet1
- poniewa┐ karty mo┐e nie byµ kiedy skrypt ten jest wykonywany. Wstaw w
- komentarz wszystko, opr≤cz urz▒dzenia "loopback" w rc.inet1.
- Je╢li tw≤j system ma automatyczn▒ procedurΩ konfiguracji sieci
- powiniene╢ zwykle wskazaµ, ┐e nie masz zainstalowanej karty sieciowej.
- W zamian, zmodyfikuj plik /etc/pcmcia/network.opts, tak aby odpowiada│
- twojej lokalnej konfiguracji sieci. Skrypty network i network.opts
- zostan▒ wykonane tylko je╢li twoja karta Ethernet-owa jest obecna.
-
- Adres urz▒dzenia przekazany do network.opts sk│ada siΩ, z czterech p≤l
- oddzielonych przecinkami: schematu, numeru gniazda, numeru urz▒dzenia
- i sprzΩtowego adresu karty Ethernet. Numer urz▒dzenia jest u┐ywany do
- numerowania urz▒dze± dla kart, kt≤re maj▒ kilka interfejs≤w
- sieciowych, tak wiΩc zwykle bΩdzie to 0. Je╢li masz kilka kart
- sieciowych u┐ywanych do r≤┐nych cel≤w, jedn▒ z opcji by│oby
- skonfigurowanie kart oparte na numerze gniazda, jak tu:
-
-
- case "$ADDRESS" in
- *,0,*,*)
- # definicje dla karty sieciowej w gnie╝dzie 0
- ;;
- *,1,*,*)
- # definicje dla karty sieciowej w gnie╝dzie 1
- ;;
- esac
-
-
-
- Alternatywnie mog│yby one byµ skonfigurowane u┐ywaj▒c ich adres≤w
- sprzΩtowych, jak tu:
-
-
- case "$ADDRESS" in
- *,*,*,00:80:C8:76:00:B1)
- # definicje dla karty D-Link
- ;;
- *,*,*,08:00:5A:44:80:01)
- # definicje dla karty IBM
- esac
-
-
-
- Aby automatycznie zamontowaµ i odmontowaµ system plik≤w NFS, najpierw
- dodaj te wszystkie systemy do /etc/fstab, ale w opcjach podaj noauto.
- W network.opts wpisz katalogi, w kt≤rych maj▒ byµ zamontowane systemy
- plik≤w NFS w zmiennej MOUNTS. Jest tu szczeg≤lnie wa┐ne, aby u┐yµ albo
- cardctl albo cardinfo, aby wy│▒czyµ kartΩ sieciow▒ kiedy montowanie z
- NFS jest w ten spos≤b skonfigurowane. Nie jest mo┐liwe czyste
- odmontowanie systemu plik≤w NFS je╢li karta sieciowa jest po prostu
- wyrzucana bez ostrze┐enia.
-
- Dodatkowo opr≤cz zwyk│ych parametr≤w konfiguracyjnych dla sieci,
- skrypt network.opts mo┐e podawaµ inne akcje, kt≤re maj▒ mieµ miejsce
- po tym jak interfejs zosta│ skonfigurowany, albo przed zamkniΩciem
- interfejsu. Je╢li w network.opts zdefiniowana jest funkcja start_fn,
- zostanie ona wywo│ana przez skrypt sieciowy po skonfigurowaniu
- interfejsu, a nazwa interfejsu zostanie przekazana do tej funkcji jako
- pierwszy i jedyny argument. Podobnie je╢li funkcja stop_fn jest
- zdefiniowana, to zostanie ona wywo│ana przed zamkniΩciem interfejsu.
-
-
- 3.3.1. Wyb≤r transceiver-a.
-
-
- Typ transceiver-a mo┐na wybraµ w network.opts przy pomocy ustawienia
- IF_PORT. Mo┐e to byµ zar≤wno warto╢µ numeryczna jak we wcze╢niejszych
- wydaniach PCMCIA, jak i s│owo kluczowe identyfikuj▒ce typ transceiver-
- a. Warto╢ciami domy╢lnymi we wszystkich sterownikach sieciowych s▒:
- wykrywanie automatyczne interfejsu je╢li jest to mo┐liwe, a w
- przeciwnym razie - 10baseT. Przy pomocy polecenia ifport mo┐na
- sprawdziµ lub ustawiµ bie┐▒cy typ transceiver-a. Np.:
-
-
-
- # ifport eth0 10base2
- #
- # ifport eth0
- eth0 2 (10base2)
-
-
-
-
- Obecne wersje sterownika 3c589 pr≤buj▒ automatycznie wykryµ po│▒czenie
- sieciowe, ale nie jest to jeszcze w pe│ni funkcjonalne. Aby
- automatyczne wykrywanie dzia│a│o, kabel sieciowy powinien tkwiµ w
- karcie podczas jej konfiguracji. Alternatywnym rozwi▒zaniem jest
- zmuszenie sterownika do sprawdzenia po│▒czenia przy pomocy polecenia:
-
-
-
- ifconfig eth0 down up
-
-
-
-
-
-
-
- 3.3.2. Komentarze na temat konkretnych kart.
-
-
-
- ╖ Przy kartach IBM CCAE i Socket EA musisz wybraµ typ transceiver-a
- (10base2, 10baseT, AUI) gdy urz▒dzenie sieciowe jest ju┐
- skonfigurowane. Upewnij siΩ, ┐e typ transceiver-a zapisany w logach
- jest zgodny z rzeczywistym.
-
- ╖ Sterowniki dla kart SMC, Megahertz, Ositech i 3Com powinny
- automatycznie wykryµ typ do│▒czonej sieci (10base2 lub 10baseT).
- Ustawienie typu transceiver-a kiedy sterownik jest ju┐ za│adowany
- ma na celu zdefiniowanie pierwszej warto╢ci sprawdzanej przez
- sterownik.
-
- ╖ Karta Farallon EtherWave jest w│a╢ciwie zbudowana na bazie 3Com
- 3c589 ze specjalnym transceiver-em. Pomimo, i┐ EtherWave u┐ywa
- po│▒cze± 10baseT jej transceiver wymaga, ┐eby 3c589 by│a
- skonfigurowana na tryb 10base2.
-
- ╖ Je╢li masz problemy z kartami IBM CCAE, NE4100, Thomas Conrad czy
- Kingston - spr≤buj zwiΩkszyµ czas dostΩpu do pamiΩci opcj▒
- mem_speed=# dla modu│u pcnet_cs. Przyk│ad jak to zrobiµ znajdziesz
- w standardowym pliku config.opts. Wypr≤buj prΩdko╢ci do 1000
- nanosekund.
-
- ╖ Na niekt≤rych systemach przy karcie New Media Ethernet mo┐liwe, ┐e
- trzeba zwiΩkszyµ czas dostΩpu do port≤w IO opcj▒ io_speed=# podczas
- │adowania modu│u pcmcia_core. Aby ustawiµ tΩ opcjΩ zmodyfikuj
- linijkΩ CORE_OPTS w skrypcie startowym.
-
- ╖ Obs│uga muticastingu w sterowniku dla New media Ethernet nie jest
- pe│na. Najnowszy sterownik bΩdzie dzia│a│ z j▒drem skompilowanym do
- multicastingu, ale bΩdzie ignorowa│ takie pakiety. Tryb
- "promiscuous" powinien dzia│aµ poprawnie.
-
- ╖ Wygl▒da na to, ┐e sterownik u┐ywany przez karty IBM i 3Com token
- ring zachowuje siΩ bardzo ╝le je╢li karty nie s▒ po│▒czone z
- pier╢cieniem podczas inicjalizacji. Zawsze pod│▒czaj te karty do
- sieci kiedy s▒ uruchamiane. Sterownik ten wymaga tak┐e wolnych
- port≤w w obszarze 0xA20-0xA27. Na niekt≤rych systemach,
- automatyczne sprawdzanie konflikt≤w w╢r≤d port≤w IO b│Ωdnie okre╢li
- ten obszar jako niedostΩpny. W tym wypadku, sprawdzanie mo┐e zostaµ
- wy│▒czone poprzez za│adowanie modu│u pcmcia_core z opcj▒
- probe_io=0.
-
- ╖ Nowsze karty Linksys i D-Link maj▒ sw≤j unikalny spos≤b wybierania
- typu transceiver-a, kt≤ry nie jest obs│ugiwany przez sterowniki
- Linux-owe. Jednym ze sposob≤w na obej╢cie tego jest wystartowaµ
- DOS-a i u┐yµ narzΩdzia dostarczonego przez sprzedawcΩ, aby wybraµ
- transceiver i potem wystartowaµ Linux-a na "ciep│o". Szukam beta-
- tester≤w do narzΩdzia na Linux-a, kt≤re by umo┐liwia│o tak▒
- funkcjΩ.
-
- ╖ Jean Tourrilhes (jt@hplb.hpl.hp.com napisa│ HOWTO <http://www-
- uk.hpl.hp.com/people/jt/Linux/Wavelan.html> na temat
- bezprzewodowych kart sieciowych WaveLAN.
-
-
- 3.3.3. Diagnozowanie problem≤w z kartami sieciowymi.
-
-
-
- ╖ Czy twoja karta jest rozpoznawana jako karta etnernetowa? Sprawd╝
- logi systemowe i upewnij siΩ, ┐e cardmgr identyfikuje twoj▒ kartΩ
- poprawnie i startuje jeden ze sterownik≤w sieciowych. Je╢li nie,
- to twoj▒ kartΩ mo┐na wci▒┐ u┐yµ je╢li jest ona kompatybilna z jak▒╢
- obs│ugiwan▒. Najpro╢ciej jest to zrobiµ je╢li karta "twierdzi", ┐e
- jest kompatybilna z NE2000.
-
- ╖ Czy karta jest poprawnie skonfigurowana? Je╢li u┐ywasz obs│ugiwanej
- karty i zosta│a ona rozpoznana przez cardmgr, ale wci▒┐ nie dzia│a,
- to mo┐liwy jest konflikt z przerwaniami lub portami. Zobacz jakich
- zasob≤w u┐ywa karta (z log≤w systemowych) i spr≤buj wy│▒czyµ je w
- /etc/pcmcia/config.opts, aby zmusiµ kartΩ do u┐ycia innych.
-
- ╖ Je╢li twoja karta wydaje siΩ byµ skonfigurowana poprawnie, ale
- czasami siΩ zawiesza, szczeg≤lnie przy du┐ym obci▒┐eniu systemu,
- mo┐liwe, ┐e musisz spr≤bowaµ zmieniµ paramtery "timing-owe" gniazda
- dla sterownika. WiΩcej informacji znajdziesz w sekcji ``2.3''.
-
- ╖ Je╢li masz komunikaty w stylu "network unreachable" kiedy pr≤bujesz
- dostaµ siΩ do sieci, to przypuszczalnie b│Ωdnie ustawi│e╢ parametry
- w /etc/pcmcia/network.opts. Jednak z drugiej strony b│Ωdnie
- skonfigurowane karty z regu│y nie zainicjuj▒ siΩ i nie wy╢wietl▒
- przy tym ┐adnych komunikat≤w
-
- ╖ Aby sprawdziµ problemy z /etc/pcmcia/network.opts, zacznij od pr≤by
- ping-owania innych system≤w w tej samej podsieci uzywaj▒c ich
- adres≤w IP. Potem spr≤buj ping-owaµ sw≤j gateway, i maszyny w
- innych podsieciach. Ping-uj maszyny po ich adresach tylko po
- zrobieniu tych prostych test≤w.
-
- ╖ Upewnij siΩ, ┐e tw≤j problem to naprawdΩ problem z PCMCIA.
- Sprawdzenie, czy karta dzia│a pod DOS-em ze sterownikiem od
- sprzedawcy mo┐e pom≤c. Sprawd╝ dwa razy modyfikacje w skrypcie
- /etc/pcmcia/network.opts. Upewnij siΩ, ┐e twoje kable, wtyczka "T",
- terminator itp. dzia│aj▒.
-
-
- 3.4. Urz▒dzenia szeregowe i modemy PCMCIA.
-
-
- Linux-owe urz▒dzenia szeregowe s▒ dostΩpne poprzez specjalne pliki
- /dev/cua* i /dev/ttyS*. Urz▒dzenia ttyS* s▒ dla po│▒cze±
- przychodz▒cych, jak np. bezpo╢rednio pod│▒czone terminale. Urz▒dzenia
- cua* s▒ dla po│▒cze± wychodz▒cych, jak np. modemy. Ka┐dy fizyczny port
- szeregowy ma plik urz▒dzenia ttyS i cua: to ju┐ zale┐y od ciebie jaki
- plik wykorzystasz w swojej aplikacji. Konfiguracja urz▒dzenia
- szeregowego mo┐e byµ sprawdzana i modyfikowana poprzez polecenie
- setserial.
-
- Kiedy zostanie wykryta karta szeregowa lub modemowa PCMCIA, zostanie
- jej przypisany pierwszy dostΩpny slot urz▒dzenia szeregowego. BΩdzie
- to zwykle /dev/ttyS1 (cua1) albo /dev/ttyS2 (cua2) w zale┐no╢ci od
- ilo╢ci wbudowanych port≤w szeregowych. Urz▒dzenie ttyS* jest
- raportowane w pliku /var/run/stab. Domy╢lny skrypt z opcjami dla
- urz▒dzenia szeregowego /etc/pcmcia/serial.opts pod│▒czy odpowiedni w
- ramach udogodnienia plik urz▒dzenia cua* do /dev/modem.
-
- Nie pr≤buj u┐ywaµ /etc/rc.d/rc.serial do konfiguracji modemu PCMCIA.
- Skrypt ten powinien byµ u┐ywany tylko do konfiguracji urz▒dze±
- zainstalowanych na sta│e. Modyfikuj /etc/pcmcia/serial.opts je╢li
- chcesz jakich╢ specjalnych ustawie± dla swojego modemu. Nie pr≤buj
- tak┐e zmieniaµ portu IO czy IRQ szeregowego urz▒dzenia PCMCIA
- programem setserial. Poinformowa│oby to sterownik szeregowy, ┐e karta
- jest w innym miejscu, ale nie zmieni│oby ustawie± sprzΩtowych karty.
- Skrypt konfiguracyjny pozwala na podanie innych opcji setserial jak
- rownie┐ to czy linia dla tego portu powinna zostaµ dodana do
- /etc/inittab.
-
-
- Adres urz▒dzenia przekazywany do serial.opts ma trzy pola odzielone
- przecinkami: pierwsze jest schematem, drugie - numerem gniazda,
- trzecie - numerem urz▒dzenia. Numer urz▒dzenia mo┐e przyjmowaµ kilka
- warto╢ci dla kart, kt≤re obs│uguj▒ wieloportowe karty szeregowe, ale
- dla kart jednoportowych bΩdzie to zawsze 0. Je╢li zwykle u┐ywasz
- wiΩcej ni┐ jednego modemu PCMCIA, mo┐esz podaµ r≤┐ne ustawienia oparte
- na numerze gniazda, jak tu:
-
-
- case "$ADDRESS" in
- *,0,*)
- # Opcje dla modemu w gnie╝dzie 0
- LINK=/dev/modem0
- ;;
- *,1,*)
- # Opcje dla modemu w gnie╝dzie 1
- LINK=/dev/modem1
- ;;
- esac
-
-
-
- Je╢li modem PCMCIA jest ju┐ skonfigurowany gdy Linux startuje, mo┐e
- zostaµ ╝le zidentyfikowany jako zwyk│y wbudowany port szeregowy. Jest
- to nieszkodliwe, chocia┐, kiedy sterowniki PCMCIA przejmuj▒ kontrolΩ
- nad modemem, bΩdzie mu nadany inny slot. Najlepiej albo zmodyfikowaµ
- /var/run/stab albo u┐yµ /dev/modem ni┐ liczyµ na to, ┐e modem PCMCIA
- bΩdzie zawsze mia│ przypisane to samo urz▒dzenie.
-
- Je╢li skonfigurujesz twoje j▒dro, aby │adowa│o podstawowy sterownik do
- port≤w szeregowych jako modu│, musisz zmodyfikowaµ /etc/pcmcia/config,
- aby wskazaµ, ┐e ten modu│ ma byµ │adowany. Zmie± pozycjΩ urz▒dzenia
- szeregowego tak:
-
-
- device "serial_cs"
- class "serial" module "char/serial", "serial_cs"
-
-
-
-
- 3.4.1. Diagnozowanie problem≤w z urz▒dzeniami szeregowymi.
-
-
-
- ╖ Czy twoja karta jest rozpoznawana jako modem? Sprawd╝ log systemowy
- i upewnij siΩ, ┐e cardmgr identyfikuje kartΩ poprawnie i startuje
- sterownik serial_cs. Je╢li nie, to mo┐liwe, ┐e musisz dodaµ jeszcze
- jedn▒ pozycjΩ do swojego pliku /etc/pcmcia/config tak, ┐e zostanie
- ona poprawnie zidentyfikowana. WiΩcej szczeg≤│≤w w sekcji ``3.6''.
-
- ╖ Czy modem zosta│ poprawnie skonfigurowany przez serial_cs? Znowu,
- sprawd╝ logi systemowe i poszukaj komunikat≤w pochodz▒cych od
- sterownika serial_cs. Je╢li zobaczy╢ "register_serial() failed()",
- to mo┐esz mieµ konflikt port≤w IO. Inn▒ wskaz≤wk▒ na konflikt jest
- zg│oszenie urz▒dzenia 8250; wiΩkszo╢µ nowoczesnych modem≤w PCMCIA
- powinna byµ identyfikowana jako UART 16550A. Je╢li s▒dzisz, ┐e masz
- do czynienia z konfliktem port≤w, zmodyfikuj
- /etc/pcmcia/config.opts i wy│▒cz obszar port≤w, kt≤ry zosta│
- zaalokowany dla modemu.
-
- ╖ A mo┐e jest konflikt przerwa±? Je╢li log systemowy wygl▒da na
- dobry, ale modem po prostu nie dzia│a, to spr≤buj u┐yµ setserial,
- aby zmieniµ IRQ na 0 i sprawd╝ czy modem dzia│a. Wywo│anie takie
- wymusza na sterowniku u┐ycie wolniejszego trybu "polled" zamiast
- u┐ycia przerwa±. Je╢li to naprawia problem, to ca│kiem mo┐liwe, ┐e
- jakie╢ inne urz▒dzenie w twoim systemie u┐ywa przerwania wybranego
- przez serial_cs. Powiniene╢ dodaµ liniΩ do pliku
- /etc/pcmcia/config.opts wy│▒czaj▒ce to przerwanie.
-
- ╖ Je╢li modem zdaje siΩ dzia│aµ, ale bardzo, bardzo wolno, to jest
- prawie pewne, ┐e jest konflikt przerwa±.
-
- ╖ Upewnij siΩ, ┐e tw≤j problem, to rzeczywi╢cie problem z PCMCIA.
- Pomocne mo┐e byµ sprawdzenie, czy karta dzia│a pod DOS-em u┐ywaj▒c
- sterownika dostarczonego przez sprzedawcΩ. Nie testuj tak┐e karty w
- skomplikowanych warunkach jak SLIP czy PPP dop≤ki nie jeste╢
- pewnien, ┐e mo┐esz nawi▒zywaµ proste po│▒czenia. Je╢li proste
- rzeczy dzia│aj▒ a SLIP - nie, to problem jest ze SLIP-em, a nie
- PCMCIA.
-
- ╖ Je╢li otrzymujesz komunikaty od j▒dra wskazuj▒ce na to, ┐e modu│
- serial_cs nie mo┐e byµ za│adowany, to znaczy, ┐e j▒dro nie ma
- obs│ugi dla urz▒dze± szeregowych. Je╢li skompilowa│e╢ sterownik
- szeregowy jako modu│, to musisz zmodyfikowaµ /etc/pcmcia/config,
- aby zaznaczyµ, ┐e modu│ serial powinien byµ za│adowany przed
- serial_cs.
-
-
- 3.5. Adaptery PCMCIA SCSI.
-
-
- Wszystkie obecnie obs│ugiwane karty PCMCIA SCSI s▒ podobne w dzia│aniu
- do jednej z nastΩpuj▒cych kart: Qlogic, Adaptec AHA-152X albo Future
- Domain TMC-16x0. Sterowniki PCMCIA s▒ stworzone przez do│▒czanie
- czΩ╢ci specyficznego dla PCMCIA kodu (w qlogic_cs.c, toaster_cs.c albo
- fdomain_cs.c) do normalnego sterownika SCSI dla Linux-a.
-
- Kiedy wykryty zostanie nowy kontroler SCSI, sterowniki do SCSI bΩd▒
- szukaµ urz▒dze±. Sprawd╝ logi systemowe, aby upewniµ siΩ, ┐e twoje
- urz▒dzenia zosta│y wykryte poprawnie. Nowym urz▒dzeniom SCSI zostanie
- przypisany pierwszy wolny plik urz▒dzenia SCSI. Pierwszy dysk SCSI
- bΩdzie /dev/sda, pierwsza ta╢ma SCSI bΩdzie /dev/st0, a pierwszy CD-
- ROM SCSI bΩdzie /dev/scd0.
-
- Rdzeniowe sterowniki PCMCIA s▒ w stanie dowiedzieµ siΩ od j▒dra 1.3.X
- i p≤╝niejszego, kt≤re urz▒dzenia SCSI s▒ pod│▒czone do karty. BΩd▒ one
- wymienione w /var/run/stab, a skrypt konfiguracyjny SCSI
- /etc/pcmcia/scsi bΩdzie wywo│any jeden raz dla ka┐dego do│▒czonego
- urz▒dzenia, aby je albo skonfigurowaµ albo wy│▒czyµ. Skrypt domy╢lny
- nie robi nic, aby skonfigurowaµ urz▒dzenia SCSI, ale poprawnie
- odmontuje systemy plik≤w z urz▒dze± SCSI kiedy karta zostanie
- usuniΩta.
-
- Sterowniki PCMCIA z j▒drem w wersji 1.2.X nie potrafi▒ automatycznie
- wykryµ , kt≤re urz▒dzenia s▒ przypisane konkretnemu sterownikowi. W
- zamian za to, je╢li masz jedn▒ normaln▒ konfiguracjΩ urz▒dzenia SCSI,
- mo┐esz wymieniµ te urz▒dzenia w /etc/pcmcia/scsi.opts. Na przyk│ad:
- je╢li normalnie masz dysk i CD-ROM SCSI, u┐y│by╢:
-
-
- # Dla j▒dra 1.2: lista urz▒dze± do│▒czonych
- SCSI_DEVICES="sda scd0"
-
-
-
- Adresy urz▒dze± przekazywane do scsi.opts s▒ skomplikowane, z powodu
- du┐ej ilo╢ci urz▒dze±, kt≤re mog▒ byµ do│▒czone do kontrolera SCSI.
- Adresy sk│adaj▒ siΩ albo z sze╢ciu albo z siedmiu p≤l oddzielonych
- przecinkami: bie┐▒cy schemat, typ urz▒dzenia, numer gniazda, kana│
- SCSI, ID, numer logicznej jednostki i opcjonalnie numer partycji. Typ
- urz▒dzenia bΩdzie jednym z: "sd" dla dysk≤w, "st" dla ta╢m, "sr" dla
- CD-ROM-≤w i "sg" dla og≤lnych urz▒dze± SCSI. W wiΩkszo╢ci ustawie±,
- kana│ SCSI oraz numer logicznej jednostki bΩdzie 0. Dla urz▒dze±
- dyskowych z kilkoma partycjami, scsi.opts zostanie najpierw wywo│any
- dla ca│ego urz▒dzenia, z piΩciopolowym adresem. Skrypt ten powinien
- ustawiµ w zmiennej PARTS listΩ partycji. Potem, scsi.opts zostanie
- wywo│any dla ka┐dej partycji, z d│u┐szymi - siedmiopolowymi adresami.
- Na przyk│ad: oto skrypt do konfiguracji urz▒dzenia dyskowego pod SCSI
- ID = 3 z dwiema partycjami oraz CD-ROM pod SCSI ID = 6:
-
-
- case "$ADDRESS" in
- *,sd,*,0,3,0)
- # To urz▒dzenie ma dwie partycje...
- PARTS="1 2"
- ;;
- *,sd,*,0,3,0,1)
- # Opcje dla partycji nr 1:
- # zaktualizuj /etc/fstab i zamontuj system plik≤w ext2 na /usr1
- DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
- FSTYPE="ext2"
- OPTS=""
- MOUNTPT="/usr1"
- ;;
- *,sd,*,0,3,0,2)
- # Opcje dla partycji nr 2:
- # zaktualizuj /etc/fstab i zamontuj system plik≤w ext2 na /usr2
- DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
- FSTYPE="msdos"
- OPTS=""
- MOUNTPT="/usr2"
- ;;
- *,sr,*,0,6,0)
- # Opcje dla CD-ROM-u ID = 6
- PARTS=""
- DO_FSTAB="y" ; DO_FSCK="n" ; DO_MOUNT="y"
- FSTYPE="iso9660"
- OPTS="ro"
- MOUNTPT="/cdrom"
- ;;
- esac
-
-
-
- Je╢li twoje j▒dro nie posiada sterownika "top-level" (do dysku, ta╢my
- itp.) dla konkretnego urz▒dzenia SCSI, wtedy urz▒dzenie to nie
- zostanie skonfigurowane przez sterownik PCMCIA. Jako efekt uboczny,
- nazwa urz▒dzenia w /var/run/stab bΩdzie wygl▒daµ mniej wiΩcej tak:
- "sd#nnnn", gdzie "nnnn" jest czterocyfrow▒ liczb▒ szesnastkow▒. Zdarza
- siΩ to, je╢li cardmgr nie jest w stanie przet│umaczyµ ID urz▒dzenia
- SCSI na odpowiadaj▒c▒ mu nazwΩ urz▒dzenia Linux-owego.
-
- Mo┐liwe jest zmodularyzowanie sterownik≤w "top-level" do SCSI, tak aby
- by│y │adowane tylko wtedy kiedy zostanie wykryty kontroler SCSI. Aby
- tak zrobiµ, musisz zmodyfikowaµ /etc/pcmcia/config, aby poinformowaµ
- cardmgr, kt≤re dodatkowe modu│y musz▒ byµ za│adowane kiedy dany
- kontroler jest konfigurowany.
- Na przyk│ad:
-
-
- device "aha152x_cs"
- class "scsi" module "scsi/scsi_mod", "scsi/sd_mod", "aha152x_cs"
-
-
-
- Taka zawarto╢µ pliku spowodowa│aby za│adowanie rdzennego modu│u SCSI
- oraz modu│u sterownika "top-level" do dysk≤w przed │adowaniem
- normalnego modu│u sterownika PCMCIA. Skrypt Configure nie wykryje
- automatycznie zmodularyzowanych sterownik≤w SCSI, tak wiΩc bΩdziesz
- musia│ w│▒czyµ obs│ugΩ SCSI rΩcznie u┐ywaj▒c opcji konfiguracyjnych.
-
- Zawsze w│▒czaj swoje urz▒dzenia przed w│▒czeniem laptopa, albo przed
- w│o┐eniem karty kontrolera, tak aby szyna SCSI zosta│a poprawnie
- zako±czona podczas konfiguracji kontrolera. B▒d╝ tak┐e bardzo ostro┐ny
- przy wyjmowaniu kontrolera SCSI. Przed wyjΩciem karty upewnij siΩ, ┐e
- wszystkie urz▒dzenia do niej przydzielone zosta│y odmontowane i
- wy│▒czone. Najlepiej przed wyjΩciem karty skorzystaµ z programu
- cardctl albo cardinfo i za┐▒daµ usuniΩcia karty z systemu. W chwili
- obecnej wszystkie urz▒dzenia SCSI powinny byµ w│▒czane przed w│o┐eniem
- karty sterownika SCSI i powinny pozostaµ pod│▒czone do momentu wyjΩcia
- karty sterownika lub wy│▒czenia laptopa.
-
- Korzystanie z tych kart niesie za sob▒ potencjalne komplikacje
- nieznane w przypadku korzystania ze zwyk│ych sterownik≤w ISA. Szyna
- SCSI przenosi sygna│ "termination power" niezbΩdny do prawid│owego
- dzia│ania zwyk│ych pasywnych terminator≤w SCSI. Sterowniki SCSI
- standardu PCMCIA nie dostarczaj▒ sygna│u "power termination", je╢li
- jest on wymagany musi zostaµ dostarczony przez urz▒dzenie zewnΩtrzne.
- Niekt≤re zewnΩtrzne urz▒dzenia SCSI mog▒ zostaµ skonfigurowane w taki
- spos≤b, aby dostarcza│y wspomnianego sysgna│u. Inne, jak np. Zip Drive
- czy Syquest EZ-Drive u┐ywaj▒ aktywnych terminator≤w, przez co nie s▒
- zale┐ne od sygna│u podawanego na szynie SCSI. W niekt≤rych przypadkach
- mo┐e okazaµ siΩ konieczne skorzystanie ze specjalnego bloku
- terminatora, np. APS SCSI Sentry 2, kt≤ry posiada niezale┐ne,
- zewnΩtrzne ╝r≤d│o zasilania. Konfiguruj▒c │a±cuch urz▒dze± SCSI
- musisz sobie zdawaµ sprawΩ, kt≤re z nich wymagaj▒ lub dostarczaj▒
- sygna│ "power termination".
-
- Kontroler Adaptec APA-460 SlimSCSI nie jest obs│ugiwany. KartΩ tΩ
- sprzedawano oryginalnie pod nazw▒ Trantor, a kiedy Adaptec po│▒czy│
- siΩ z Trantor-em, kontynuowano sprzeda┐ Trantora z nazw▒ Adaptec.
- APA-460 nie jest kompatybilny z jakimkolwiek istniej▒cym sterownikiem
- Linux-owym. Nie jestem pewien jak trudno by│oby napisaµ sterownik; nie
- s▒dzΩ, ┐eby kto╢ by│ w stanie wyci▒gn▒µ jakiekolwiek informacje od
- Adaptec-a.
-
- (Nieobs│ugiwany) Trantor SlimSCSI mo┐e zostaµ zidentyfikowany
- nastΩpuj▒co:
-
-
- Trantor / Adaptec APA-460 SlimSCSI
- FCC ID: IE8T460
- Shipped with SCSIworks! driver software
-
-
-
- (Obs│ugiwany) Adaptec SlimSCSI mo┐e zostaµ zidentyfikowany
- nastΩpuj▒co:
-
-
- Adaptec APA-1460 SlimSCSI
- FCC ID: FGT1460
- P/N: 900100
- Shipped with EZ-SCSI driver software
-
-
-
-
- 3.5.1. Diagnozowanie problem≤w z kartami SCSI.
-
-
-
-
- ╖ Przy sterowniku aha152x_cs (u┐ywanym przez Adaptec-a, New Media i
- kilka innych) ╝r≤d│em czΩstych problem≤w w napΩdach ta╢m wydaje siΩ
- byµ obs│uga od│▒czania/pod│▒czania SCSI. Aby wy│▒czyµ, tΩ
- w│a╢ciwo╢µ dodaj nastΩpuj▒c▒ liniΩ do pliku
- /etc/pcmcia/config.opts:
-
-
-
- module "aha152x_cs" opts "reconnect=0"
-
-
-
-
-
- ╖ Je╢li skompilowa│e╢ obs│ugΩ SCSI jako modu│ (CONFIG_SCSI to "m"),
- podczas konfiguracji PCMCIA, musisz wyra╝nie zaznaczyµ, ┐e chcesz,
- aby sterownik zosta│ skompilowany. Musisz zmodyfikowaµ plik
- /etc/pcmcia/config, aby │adowaµ modu│ SCSI przed odpowiednim
- sterownikiem *_cs.
-
-
- 3.6. Karty pamiΩci PCMCIA.
-
-
- Sterownik memory_cs obs│uguje wszystkie typy kart pamiΩci, jak r≤wnie┐
- dostarcza bezpo╢redniego dostepu do obszaru adresowego pamiΩci PCMCIA
- dla kart, kt≤re maj▒ inne funkcje. Po za│adowaniu tworzy kombinacjΩ
- urz▒dze± znakowych i blokowych. Przeczytaj stronΩ podrΩcznika na temat
- modu│≤w, aby dowiedzieµ siΩ wiΩcej o schemacie nazewnictwa urz▒dze±.
- Urz▒dzenia blokowe s▒ u┐ywane do dostΩpu a'la dysk (tworzenie i
- montowanie system≤w plik≤w itp.) Urz▒dzenia znakowe s│u┐▒ do
- bezpo╢redniego (raw) niebuforowanego czytania i pisania do jakiego╢
- miejsca.
-
- Adres urz▒dzenia przekazany do memory.opts sk│ada siΩ z dw≤ch p≤l:
- schematu i numeru gniazda. Opcje odnosz▒ siΩ do pierwszej zwyk│ej
- partycji pamiΩci na odpowiedniej karcie pamiΩci. Oto przyk│ad skryptu,
- kt≤ry automatycznie montuje karty pamiΩci w zale┐no╢ci od z│▒cza, w
- kt≤re zostan▒ karty w│o┐one:
-
-
- case "$ADDRESS" in
- *,0,0)
- # Zamontuj systemy plik≤w, ale nie uaktualniaj /etc/fstab
- DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
- FSTYPE="ext2" ; OPTS=""
- MOUNTPT="/mem0"
- ;;
- *,1,0)
- # Zamontuj systemy plik≤w, ale nie uaktualniaj /etc/fstab
- DO_FSTAB="n" ; DO_FSCK="y" ; DO_MOUNT="y"
- FSTYPE="ext2" ; OPTS=""
- MOUNTPT="/mem0"
- ;;
- esac
-
-
-
- Niekt≤re starsze karty pamiΩci i wiΩkszo╢µ prostych statycznych kart
- RAM nie posiadaj▒ "Card Information Structure" (CIS), kt≤ra jest
- schematem u┐ywanym przez karty PCMCIA do identyfikowania siΩ.
- Normalnie cardmgr za│o┐y, ┐e ka┐da karta, w kt≤rej brakuje owej
- struktury jest prost▒ kart▒ pamiΩci i za│aduje sterownik memory_cs. I
- tak, czΩstym skutkiem ubocznym og≤lnego identyfikowania kart jest
- identyfikacja innego typu kart jako karty pamiΩci.
-
- Sterownik memory_cs u┐ywa heurystyki, aby zgadn▒µ pojemno╢µ tych kart.
- Heurystyka nie dzia│a jednak dla kart zabezpieczonych przed zapisem i
- mo┐e czyniµ b│Ωdy tak┐e w innych przypadkach. Je╢li karta zosta│a ╝le
- zidentyfikowana, jej rozmiar powinien byµ wyra╝nie podany podczas
- u┐ywania takich polece± jak dd czy mkfs.
-
-
- 3.6.1. U┐ywanie kart pamiΩci "flash".
-
-
- Adres urz▒dzenia przekazywany do ftl.opts sk│ada siΩ z trzech lub
- czterech p≤l: schematu, numeru gniazda, numeru regionu i opcjonalnie
- numeru partycji. WiΩkszo╢µ kart "flash" ma tylko jeden region pamiΩci
- "flash", wiΩc numerem regionu zwykle bΩdzie zero.
-
- Aby u┐yµ karty pamiΩci "flash" jako zwyk│ego urz▒dzenia blokowego jak
- dysk, stw≤rz najpierw partycjΩ "flash translation layer" na tym
- urz▒dzeniu poleceniem ftl_format:
-
-
-
- ftl_format -i /dev/mem0c0c
-
-
-
-
- Zauwa┐, ┐e polecenie to uzyskuje dostΩp do karty przez bezpo╢redni
- interfejs pamiΩci karty. Raz sformatowana karta mo┐e byµ u┐ywana jako
- zwyk│e urz▒dzenie blokowe przy pomocy sterownika ftl_cs. Na przyk│ad:
-
-
-
- mke2fs /dev/ftl0c0
- mount -t ext2 /dev/ftl0c0 /mnt
-
-
-
-
- Nazewnictwo dla urz▒dze± FTL jest trochΩ pokrΩcone. Poboczne liczby
- urz▒dze± maj▒ trzy czΩ╢ci: numer karty, numer regionu na tej karcie i
- opcjonalnie partycjΩ w tym regionie. Region mo┐e byµ traktowany jako
- pojedyncze urz▒dzenie blokowe bez tablicy partycji (jak dyskietka)
- albo mo┐na go podzieliµ na partycje tak jak dysk twardy. Urz▒dzenie
- "ftl0c0" jest kart▒ 0 o numerze regionu 0 i ca│ym regionem. Urz▒dzenia
- od "ftl0c0p1" do "ftl0c0p4" s▒ g│≤wnymi partycjami 1 do 4 je╢li region
- zosta│ podzielony.
-
- S▒ dwa g│≤wne formaty dla kart pamiΩci flash: styl "flash translation
- layer", i styl "Microsoft Flash File System". Format FTL jest og≤lnie
- bardziej elastyczny poniewa┐ pozwala na u┐ycie ka┐dego zwyk│ego
- wysokopoziomowego systemu plik≤w (ext2, ms-dos itp.) na kartach
- pamiΩci "flash" tak jakby by│y one na zwyk│ym urz▒dzeniu dyskowym. FFS
- jest ca│kiem odmiennym systemem plik≤w. Linux nie umie w tej chwili
- ob│ugiwaµ kart sformatowanych w tym systemie.
-
-
- 3.7. Karty PCMCIA napΩd≤w ATA/IDE.
-
-
- Obs│uga napΩd≤w ATA/IDE wymaga jadra 1.3.72 lub nowszego. Specyficzna
- dla PCMCIA czΩ╢µ sterownika to fixed_cs. PamiΩtaj ┐eby u┐ywaµ cardctl
- albo cardinfo do wy│▒czania karty ATA/IDE przed wyjΩciem jej, poniewa┐
- sterownik nie jest odporny na "gor▒ce zmiany".
-
- Adresy urz▒dzenia przekazywane do fixed.opts sk│adaj▒ siΩ z trzech
- albo czterech p≤l: bie┐▒cy schemat, numer gniazda, numer seryjny
- napΩdu i opcjonalny numer partycji. Tak samo jak w przypadku urz▒dze±
- SCSI, fixed.opts jest najpierw wywo│ywany dla ca│ego urz▒dzenia. Je╢li
- fixed.opts zwr≤ci listΩ partycji w zmiennej PARTS, skrypt zostanie
- wtedy wywo│any dla ka┐dej partycji.
-
- Oto przyk│ad pliku fixed.opts, kt≤ry montuje pierwsz▒ partycjΩ
- jakiejkolwiek karty ATA/IDE na /mnt.
-
-
- case "$ADDRESS" in
- *,*,*)
- PARTS="1"
- ;;
- *,*,*,1)
- DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
- FSTYPE="msdos"
- OPTS=""
- MOUNTPT="/mnt"
- ;;
- esac
-
-
-
- Zauwa┐, ┐e domy╢lny plik fixed.opts posiada te linie, ale s▒ one w
- komentarzu. Je╢li chcesz, mo┐esz mieµ oddzielne konfiguracje dla
- konkretnych kart oparte na ich numerach seryjnych. Aby odszukaµ numer
- seryjny napΩdu, u┐yj narzΩdzia ide_info. Wtedy czΩ╢µ fixed.opts mo┐e
- wygl▒daµ tak:
-
-
- case "$ADDRESS" in
- *,*,Z4J60542)
- # To s▒ moje rzeczy DOS-owe
- PARTS="1"
- ;;
- *,*,Z4J60542,1)
- DO_FSTAB="y" ; DO_FSCK="y" ; DO_MOUNT="y"
- FSTYPE="msdos"
- OPTS=""
- MOUNTPT="/mnt"
- ;;
- esac
-
-
-
-
- 3.7.1. Diagnozowanie problem≤w z adapterami ATA/IDE.
-
-
-
- ╖ Niekt≤re napedy IDE zaburzaj▒ specyfikacjΩ PCMCIA przez ┐▒danie
- d│u┐szego czasu na "rozkrΩcenie siΩ" ni┐ maksymalny dozwolony czas
- na setup. Aby u┐ywaµ tych kart za│aduj modu│ pcmcia_core z opcj▒:
-
-
-
- CORE_OPTS="unreset_delay=400"
-
-
-
-
-
- ╖ Aby u┐ywaµ urz▒dzenia ATA/IDE CD-ROM, twoje j▒dro musi byµ
- skompilowane z w│▒czon▒ opcj▒ CONFIG_BLK_DEV_IDECD. BΩdzie to
- zwykle przypadek dla standardowych j▒der, chocia┐ jest to co╢ o
- czym╢ powiniene╢ wiedzieµ je╢li kompilujesz j▒dro z w│asn▒
- konfiguracj▒.
-
-
- 3.8. Karty wielofunkcyjne.
-
-
- Od j▒dra w wersji 1.3.73 pojedyncze przerwanie mo┐e byµ dzielone
- miΩdzy kilka sterownik≤w jak sterownik szeregowy i ethernetu. Je╢li
- u┐ywasz wielofunkcyjnej karty z nowszym j▒drem, to wszystkie funkcje
- tej karty s▒ dostΩpne bez potrzeby prze│adowywania sterownik≤w.
-
- Symultaniczne u┐ycie dw≤ch funkcji karty wymaga trochΩ sprytu i r≤┐ni
- sprzedawcy sprzΩtu zaimplementowali dzielenie przerwa± na sw≤j,
- niekompatybilny (i czasem nieudokumentowany) spos≤b. Sterowniki do
- niekt≤rych kart (Ositech Jack of Diamonds, 3Com 3c562, Linksys)
- udostΩpniaj▒ poprawnie symultaniczno╢µ, ale inne (szczeg≤lnie
- Megahertz) - nie.
-
- Wcze╢niejsze j▒dra nie obs│ugiwa│y dzielenia przerwa± pomiΩdzy r≤┐ne
- sterowniki urz▒dze±, wiΩc jest niemo┐liwe skonfigurowanie kart modemu
- i ethernetu do dzia│ania symultanicznego. Sterowniki ethernetowy i
- modemowy s▒ │adowane jednocze╢nie automatycznie. Chocia┐ sterownik
- ethernetowy przejmuje przerwanie domy╢lnie. Aby u┐yµ modemu mo┐esz
- usun▒µ sterownik ethernetowy z pamiΩci i zrekonfigurowaµ port
- szeregowy czym╢ takim:
-
-
-
- ifconfig eth0 down
- rmmod 3c589_cs
- setserial /dev/modem autoconfig auto_irq
- setserial /dev/modem
-
-
-
-
- Drugie polecenie setserial powinno zweryfikowaµ czy port zosta│
- skonfigurowany tak, aby u┐yµ przerwania poprzednio u┐ywanego przez
- sterownik ethernetowy.
-
-
- 3.9. Kiedy mo┐na bezpiecznie w│o┐yµ albo wyj▒µ kartΩ PCMCIA ?
-
-
- Teoretycznie mo┐esz wk│adaµ i wyjmowaµ karty PCMCIA w ka┐dym momencie.
- Chcocia┐, generalnie dobrze jest nie wyjmowaµ karty je╢li jest ona
- akurat u┐ywana przez jak▒╢ aplikacjΩ. J▒dra starsze ni┐ 1.1.77 czΩsto
- zawiesza│yby siΩ podczas wyjmowania kart szeregowych lub modemowych,
- ale to powinno ju┐ byµ naprawione.
-
-
- 3.10. Card Services i Advanced Power Management.
-
-
- Pakiet Card Services mo┐e zostaµ skompilowany z obs│ug▒ APM (Advanced
- Power Management) je╢li zainstalowa│e╢ ten pakiet w swoim systemie.
- APM jest do│▒czony do j▒der 1.3.46 i nowszych. Opiekunem tego pakietu
- jest obecnie Rick Faith (faith@cs.unc.edu), a narzΩdzia do APM mo┐na
- uzyskaµ z ftp.cs.unc.edu. Modu│y PCMCIA zostan▒ skonfigurowane
- automatycznie pod wzglΩdem APM je╢li na twoim systemie zostanie
- wykryta wersja kompatybilna.
-
- Aby poprawnie zako±czyµ dzia│anie i ponownie wystartowaµ karty PCMCIA,
- mo┐esz wykonaµ cardctl suspend przed zawieszeniem twojego laptopa i
- cardctl resume po przywr≤ceniu go do pracy bez zmian w APM.
- Niezadzia│a to jednak z modemem PCMCIA, kt≤ry jest w│a╢nie u┐ywany,
- poniewa┐ sterownik szeregowy nie jest w stanie zachowaµ i odtworzyµ
- parametr≤w operacyjnych modemu.
-
- APM wydaje siΩ byµ niepewne na niekt≤rych systemach. Je╢li masz
- problemy z APM i PCMCIA w twoim systemie, spr≤buj zawΩziµ problem do
- jednego albo drugiego pakietu zanim wy╢lesz list z raportem o b│Ωdzie.
-
- Niekt≤re sterowniki, szczeg≤lnie sterowniki PCMCIA SCSI, nie mog▒ siΩ
- odtworzyµ ze stanu zawie╢/odtw≤rz. Kiedy u┐ywasz karty PCMCIA SCSI,
- u┐yj cardctl eject zanim zawiesisz system.
-
-
- 3.11. Jak mam wy│▒czyµ kartΩ PCMCIA bez wyjmowania jej ?
-
-
- U┐yj polecenia cardctl albo cardinfo. Polecenie cardctl suspend #
- zawiesi jedno gniazdo, i wy│▒czy jego zasilanie. Odpowiednie polecnie
- resume obudzi kartΩ w stan poprzedni.
-
-
- 3.12. Jak usuwam sterowniki PCMCIA z pamiΩci ?
-
-
- Aby usun▒µ ca│y pakiet PCMCIA, uruchomrc.pcmcia tak:
-
-
- /etc/rc.d/rc.pcmcia stop
-
-
-
- Uruchomienie tego skryptu zajmie kilka sekund, poniewa┐ daje on czas
- wszystkim sterownikom-klientom na poprawne zako±czenie dzia│ania.
- Je╢li jakie╢ urz▒dzenie PCMCIA jest akurat u┐ywane, zako±czenie bΩdzie
- niekompletne, i niekt≤re modu│y j▒dra mog▒ nie zostaµ usuniΩte. Aby
- tego unikn▒µ u┐yj cardctl eject, aby zamkn▒µ wszystkie gniazda przed
- uruchomieniem rc.pcmcia. Status wyj╢ciowy polecenia cardctl okre╢li
- czy jakie╢ gniazdo nie mog│o byµ zamkniΩte.
-
-
-
- 4. Zaawansowane tematy.
-
-
-
- 4.1. Alokoacja zasob≤w dla urz▒dze± PCMCIA.
-
-
- Teoretycznie nie powinno mieµ znaczenia kt≤re przerwanie jest
- alokowane dla kt≤rego urz▒dzenia tak d│ugo jak dwa urz▒dzenia nie s▒
- skonfigurowane, aby u┐ywaµ tego samego przerwania. W pliku
- /etc/pcmcia/config.opts znajdziesz miejsce na wy│▒czenie przerwa±,
- kt≤re s▒ u┐ywane przez inne urz▒dzenia ni┐ PCMCIA.
-
- Podobnie, nie ma sposobu, aby bezpo╢rednio podaµ adresy IO, kt≤re maj▒
- byc u┐ywane przez karty PCMCIA. Plik /etc/pcmcia/config.opts pozwala
- na podanie obszaru port≤w dostΩpnego dla wszystkich sterownik≤w
- PCMCIA, albo wy│▒czyµ obszary, kt≤re powoduj▒ konflikty.
-
- Po zmodyfikowaniu pliku /etc/pcmcia/config.opts mo┐esz zrestartowaµ
- cardmgr poleceniem "kill -HUP".
-
- Przerwanie u┐ywane do monitorowania statusu zmian karty jest wybierane
- przez modu│ sterownika niskiego poziomu (i82365 lub tcic) przed
- zinterpretowaniem pliku /etc/pcmcia/config przez cardmgr, wiΩc plik
- ten nie ma wp│ywu na wyb≤r tego w│a╢nie przerwania. Aby ustawiµ to
- przerwanie u┐yj opcji cs_irq= podczas │adowania sterownika gniazd,
- przez ustawienie zmiennej PCIC_OPTS w pliku /etc/rc.d/rc.pcmcia.
-
- Wszystkie sterowniki kart klient≤w maj▒ parametr irq_list do
- podawania, kt≤re przerwania mog▒ pr≤bowaµ one zaalokowaµ. Te opcje
- powinny byµ ustawione w pliku /etc/pcmcia/config. Np.:
-
-
-
- device "serial_cs"
- module "serial_cs" opts "irq_list=8,12"
- ...
-
-
-
-
- wymusi│oby u┐ycie tylko przerwa± IRQ 8 i 12. Nie zale┐nie od usatwie±
- irq_list, Card Services nigdy nie zaalokuje przerwania, kt≤re jest ju┐
- u┐ywane przez inne urz▒dzenie albo przerwania, kt≤re jest wy│▒czone w
- pliku konfiguracyjnym.
-
-
- 4.2. Jak zrobiµ dwie r≤┐ne konfiguracje urz▒dze± do domu i pracy ?
-
-
- Jest to ca│kiem proste u┐ywaj▒c schemat≤w PCMCIA.
- U┐yj dw≤ch schemat≤w konfiguracyjnych o nazwie "dom" i "praca". Oto
- przyk│ad skryptu network.opts z konkretnymi ustawieniami dla r≤┐nych
- schemat≤w:
-
-
- case "$ADDRESS" in
- praca,*,*,*)
- # definicje dla kart sieciowych w pracy
- ...
- ;;
- dom,*,*,*|default,*,*,*)
- # definicje dla kart sieciowych w domu
- ...
- ;;
- esac
-
-
-
- Pierwsz▒ czΩ╢ci▒ adresu urz▒dzenia PCMCIA jest zawsze schemat
- konfiguracyjny. W tym przyk│adzie, drugi przypadek w "case" wybierze
- oba schematy: domowy i domy╢lny. WiΩc je╢li schemat nie jest
- ustawiony, domy╢lnym bΩdzie schemat domowy.
-
- Teraz, aby wybraµ pomiΩdzy tymi dwoma ustawieniami uruchom albo:
-
-
- cardctl scheme dom
-
-
-
- albo
-
-
- cardctl scheme praca
-
-
-
- Polecenie cardctl wy│▒cza wszystkie twoje karty i inicjuje je
- ponownie. Polecenie to mo┐e byµ bezpiecznie u┐ywane, nie zale┐nie od
- tego czy system PCMCIA jest za│adowany czy nie, ale polecenie to mo┐e
- siΩ nie powie╢µ je╢li u┐ywasz innych urz▒dze± PCMCIA w tym samym
- czasie (nawet je╢li ich konfiguracje nie r≤┐ni▒ siΩ wyra╝nie od
- ustawie± schemat≤w).
-
- Aby zobaczyµ bie┐▒ce ustawienia schematu PCMCIA uruchom:
-
-
- cardctl scheme
-
-
-
-
- 4.3. Startowanie z urz▒dzenia PCMCIA.
-
-
- Posiadanie g│≤wnego systemu plik≤w na urz▒dzeniu PCMCIA jest trochΩ
- k│opotliwe, bo system PCMCIA na Linux-a nie zosta│ przystosowany do
- w│▒czenia do j▒dra. G│≤wne sk│adniki, │adowalne modu│y i uruchamiany w
- trybie u┐ytkownika demon cardmgr, zale┐▒ od ju┐ dzia│aj▒cego systemu.
- Mo┐liwo╢µ startu przy pomocy "initrd" pozwala obej╢µ ten problem
- pozwalaj▒c Linux-owi wystartowaµ u┐ywaj▒c tymczasowego ramdysku jako
- minimalnego obrazu katalogu g│≤wnego, za│adowaµ sterowniki i potem
- ponownie zamontowaµ inny system plik≤w jako katalog g│≤wny. Tymczasowy
- katalog g│≤wny mo┐e skonfigurowaµ urz▒dzenia PCMCIA i potem zamontowaµ
- urz▒dzenie PCMCIA jako katalog g│≤wny.
-
- Niekt≤re dystrybucje Linux-a pozwalaj▒ na instalacjΩ na urz▒dzeniu
- pod│▒czonym do kontrolera SCSI PCMCIA, jako niezamierzony skutek
- uboczny mo┐liwo╢ci instalacji z CD-ROM-≤w pod│▒czonych do SCSI PCMCIA.
- Aczkolwiej w tej chwili ┐adne narzΩdzie instalacyjne dla Linux-a nie
- pozwala na konfiguracjΩ odpowiedniego "initrd" do startu z g│≤wnym
- systemem plik≤w na PCMCIA. Dlatego te┐ konfiguracja takiego systemu
- wymaga u┐ycia drugiego Linux-a, aby stworzyµ obraz "initrd". Je╢li nie
- masz dostΩpu do drugiego Linux-a, to inn▒ mo┐liwo╢ci▒ jest tymczasowe
- zainstalowanie minimalnego Linux-a na napΩdzie nie bΩd▒cym urz▒dzeniem
- PCMCIA, stworzenie obrazu initrd i zainstalowanie na PCMCIA.
-
- W Bootdisk-HOWTO znajduj▒ siΩ og≤lne informacje jak zrobiµ dyskietki
- startowe, ale nic konkretnego na temat initrd. G│≤wny dokument
- opisuj▒cy initrd zawarty jest w ostatnich ╝r≤d│ach j▒dra Linux-a w
- katalogu linux/Documentation/initrd.txt. Zanim zaczniesz powiniene╢ to
- przeczytaµ. Pomocna jest te┐ znajomo╢µ lilo. U┐ycie initrd wymaga
- tak┐e w│▒czonych opcji CONFIG_BLK_DEV_RAM i CONFIG_BLK_DEV_INITRD w
- j▒drze.
-
-
- 4.3.1. Skrypt-pomocnik pcinitrd.
-
-
- Skrypt pcinitrd tworzy podstawowy obraz initrd do startowania z
- g│≤wnej partycji na PCMCIA. W obrazie tym zawarte s▒: minimalna
- struktura katalog≤w, potrzebne pliki urz▒dze±, kilka program≤w,
- biblioteki dzielone i zbi≤r sterownik≤w-modu│≤w PCMCIA. Podczas
- uruchamiania pcinitrd podajesz sterowniki-modu│y, kt≤re maj▒ byµ
- zawarte w obrazie. G│≤wne sk│adniki PCMCIA, pcmcia_core i ds s▒
- do│▒czane automatycznie.
-
- Na przyk│ad powiedzmy, ┐e tw≤j laptop u┐ywa kontrolera PCMCIA
- kompatybilnego z i82365 i chcesz startowaµ Linux-a z g│≤wnym systemem
- plik≤w na dysku twardym przy│▒czonym do kontrolera Adpatec SlimSCSI.
- Mo┐esz stworzyµ odpowiedni obraz przy pomocy;
-
-
-
- pcinitrd -v initrd pcmcia/i82365.o pcmcia/aha152x_cs.o
-
-
- Aby ustawiµ sobie start initrd wedle swojego uznania, mo┐esz
- zamontowaµ obraz u┐ywaj▒c urz▒dzenia "loopback" poleceniem:
-
-
-
- mount -o loop -t ext2 initrd /mnt
-
-
-
-
- i potem zmodyfikuj skrypt linuxrc. Pliki konfiguracyjne PCMCIA zostan▒
- zainstalowane w obrazie w katalogu /etc i tak┐e mog▒ byµ ustawione
- wedle w│asnego uznania. WiΩcej informacji znajdziesz w podrΩczniku
- 'man pcinitrd'.
-
-
- 4.3.2. Tworzenie dyskietki startowej z initrd.
-
-
- Po stworzeniu obrazu skryptem pcinitrd, mo┐esz stworzyµ dyskietkΩ
- startow▒ kopiuj▒c j▒dro, skompresowany obraz initrd i kilka
- pomocniczych program≤w dla lilo na czyst▒ dyskietkΩ. W nastΩpuj▒cym
- przyk│adzie zak│adamy, ┐e g│≤wny system plik≤w znajduje siΩ na
- /dev/sda1:
-
-
-
- mke2fs /dev/fd0
- mount /dev/fd0 /mnt
- mkdir /mnt/etc /mnt/boot /mnt/dev
- cp -a /dev/fd0 /dev/sda1 /mnt/dev
- cp [j▒dro] /mnt/vmlinuz
- gzip < [obraz-initrd] > /mnt/initrd
-
-
-
-
- Stw≤rz /mnt/etc/lilo.conf z tak▒ zawarto╢ci▒:
-
-
-
- boot=/dev/fd0
- compact
- image=/vmlinuz
- label=linux
- initrd=/initrd
- read-only
- root=/dev/sda1
-
-
-
-
- Na ko±cu uruchom:
-
-
-
- lilo -r /mnt
-
-
-
-
- Je╢li lilo uruchomione jest z parametrem -r, wszystkie akcje
- wykonywane s▒ z podanym katalogiem jako g│≤wny system plik≤w. Powodem
- utworzenia plik≤w urz▒dze± w /mnt/dev by│o to, ┐e lilo nie bΩdzie w
- stanie u┐yµ plik≤w w /dev kiedy bΩdzie uruchomione z alternatywnym
- katalogiem g│≤wnym.
- 4.3.3. Instalacja obrazu initrd na napΩdach bez Linux-a.
-
-
- Jednym z popularnych zastosowa± initrd s▒ systemy gdzie wewnΩtrzny
- dysk twardy jest dedykowany dla innego systemu operacyjnego. J▒dro
- Linux-a i obraz initrd mog▒ zostaµ umieszczone na partycji bez Linux-a
- a lilo lub LOADLIN mog▒ zostaµ skonfigurowane, aby │adowa│y Linux-a z
- tych obraz≤w.
-
- Zak│▒daj▒c, ┐e twoje j▒dro jest skonfigurowane na odpowiednie
- urz▒dzenie z g│≤wnym systemem plik≤w i masz stworzony obraz initrd na
- innym Linux-ie, najprostszym sposobem aby zacz▒µ, to wystartowanie
- Linux-a u┐ywaj▒c LOADLIN-a w ten spos≤b:
-
-
-
- LOADLIN <kernel> initrd=<initrd-image>
-
-
-
-
- Jak ju┐ mo┐esz wystartowaµ Linux-a na swojej maszynie, mo┐esz wtedy
- zainstalowaµ lilo aby umo┐liwiµ startowanie Linux-a bezpo╢rednio.
- Na przyk│ad powiedzmy, ┐e /dev/hda1 jest partycj▒ bez Linux-a i /mnt
- mo┐na u┐yµ jako katalog do montowania. najpierw utw≤rz podkatalog na
- partycji docelowej dla plik≤w Linux-a:
-
-
-
- mount /dev/hda1 /mnt
- mkdir /mnt/linux
- cp [obraz-j▒dra] /mnt/linux/vmlinuz
- cp [obraz-initrd] /mnt/linux/initrd
-
-
-
-
- W tym przyk│adzie, powiedzmy, ┐e /dev/sda1 jest partycj▒ na kt≤rej ma
- siΩ znale╝µ g│≤wny system plik≤w, dysk twardy SCSI zamontowany przez
- kontroler SCSI PCMCIA. Aby zainstalowaµ lilo, stw≤rz plik lilo.conf z
- tak▒ zawarto╢ci▒:
-
-
-
- boot=/dev/hda
- map=/mnt/linux/map
- compact
- image=/mnt/linux/vmlinuz
- label=linux
- root=/dev/sda1
- initrd=/mnt/linux/initrd
- read-only
- other=/dev/hda1
- table=/dev/hda
- label=windows
-
-
-
-
- Linia boot= informuje, ┐eby zainstalowaµ program │aduj▒cy system do
- Master Boot Record podanego urz▒dzenia. Linia root= identyfikuje
- konkretny g│≤wny system plik≤w, kt≤ry ma zostaµ u┐yty po za│adowaniu
- obrazu initrd, parametr ten mo┐e byµ niepotrzebny je╢li j▒dro jest ju┐
- skonfigurowane w ten spos≤b. Sekcja other= u┐ywana jest do opisania
- innego systemu operacyjnego zainstalowanego na /dev/hda1.
-
- Aby zainstalowaµ lilo w tym przypadku u┐yj:
-
-
-
- lilo -C lilo.conf
-
-
-
-
- Zauwa┐, ┐e w tym przypadku plik lilo.conf u┐ywa scie┐ek absolutnych,
- kt≤re zawieraj▒ /mnt. Zrobi│em tak w przyk│adzie poniewa┐ docelowy
- system plik≤w mo┐e nie umieµ tworzyµ urz▒dze± Linux-a dla parametr≤w
- boot= i root=.
-
-
- 5. Jak radziµ sobie z nieobs│ugiwanymi kartami.
-
-
-
- 5.1. Konfiguracja nieobs│ugiwanych kart.
-
-
- Zak│adaj▒c, ┐e twoja karta jest obs│ugiwana przez istniej▒cy
- sterownik, wszystko co trzeba zrobiµ, to dodaµ pozycjΩ do
- /etc/pcmcia/config, kt≤ra poinformuje cardmgr jak zidentyfikowaµ kartΩ
- i kt≤ry(e) sterownik(i) do│▒czyµ do tej karty. WiΩcej informacji na
- temat formatu pliku konfiguracyjnego na stronie podrΩcznika "man" na
- temat pcmcia. Je╢li w│o┐ysz nieznan▒ kartΩ, to cardmgr z regu│y
- zapisze trochΩ informacji identyfikacyjnych w logu systemowym, kt≤ry
- mo┐e zostaµ u┐yty do konfiguracji.
-
- Oto przyk│ad raportu cardmgr w /usr/adm/messages na temat nieznanej
- karty:
-
-
- cardmgr[460]: unsupported card in socket 1
- cardmgr[460]: version info: "MEGAHERTZ", "XJ2288", "V.34 PCMCIA
- MODEM"
-
-
-
- Odpowiadaj▒ca pozycja konfiguracyjna w /etc/pcmcia/config wygl▒da│oby
- tak:
-
-
- card "Megahertz XJ2288 V.34 Fax Modem"
- version "MEGAHERTZ", "XJ2288", "V.34 PCMCIA MODEM"
- bind "serial_cs"
-
-
-
- Mo┐esz u┐yµ "*", aby oznaczyµ │a±cuchy, kt≤re nie musz▒ siΩ dok│adnie
- zgadzaµ, jak np. numery wersji. Kiedy robisz now▒ pozycjΩ
- konfiguracyjn▒, zwr≤µ uwagΩ na to, ┐eby dok│adnie skopiowaµ │a±cuchy,
- zachowuj▒c wszelkie du┐e i ma│e litery oraz przerwy (spacje). Upewnij
- siΩ tak┐e, ┐e pozycja konfiguracyjna ma tak▒ sam▒ ilo╢µ │a±cuch≤w jak
- to stwierdzono w logach.
-
- Po tym jak zmodyfikujesz /etc/pcmcia/config, mo┐esz poinformowaµ
- cardmgr, aby prze│adowa│ plik konfiguracyjny:
-
-
- kill -HUP `cat /var/run/cardmgr.pid`
-
-
-
- Je╢li uda ci siΩ ustawiµ jak▒╢ pozycjΩ konfiguracyjn▒ dla nowej karty,
- przy╢lij mi kopiΩ proszΩ, tak ┐ebym m≤g│ j▒ do│▒czyµ do standardowego
- pliku konfiguracyjnego.
-
-
- 5.2. Jak mam dodaµ obs│ugΩ dla karty kompatybilnej z NE2000 ?
-
-
- Najpierw sprawd╝, czy karta nie zosta│a ju┐ rozpoznana przez cardmgr.
- Niekt≤re karty nie wymienione w SUPPORTED.CARDS s▒ wersjami OEM kart
- obs│ugiwanych. Je╢li znajdziesz taka kartΩ, daj mi znaµ, ┐ebym m≤g│ j▒
- dodaµ do listy.
-
- Je╢li twoja karta nie zosta│a rozpoznana, postΩpuj zgodnie z
- instrukcjami w sekcji ``3.6'', aby stworzyµ pozycjΩ konfiguracyjn▒ dla
- twojej karty oraz powi▒┐ swoj▒ kartΩ ze sterownikiem pcnet_cs.
- Zrestartuj cardmgr, aby u┐yµ nowego zaktualizowanego pliku
- konfiguracyjnego.
-
- Je╢li sterownik pcnet_cs twierdzi, ┐e nie mo┐e okre╢liµ adresu
- sprzΩtowego twojej karty ethernet-owej, to zmodyfikuj nowy plik
- konfiguracyjny, aby powi▒zaµ kartΩ ze sterownikiem karty pamiΩci -
- memory_cs. Zrestartuj cardmgr, aby u┐yµ nowego zaktualizowanego pliku
- konfiguracyjnego. BΩdziesz musia│ znaµ adres sprzΩtowy swojej karty
- sieciowej. Adres ten jest seri▒ dwucyfrowych szesnastkowych liczb,
- czΩsto wydrukowanych na karcie. Je╢li go tam nie ma, mo┐esz u┐yµ
- sterownika DOS-owego, aby go wy╢wietliµ. W ka┐dym razie, jak go ju┐
- znasz to uruchom:
-
-
- dd if=/dev/mem0a count=20 | od -Ax -t x1
-
-
-
- i poszukaj linijki z twoim adresem. Tylko parzyste bajty s▒
- zdefiniowane, wiec zignoruj bajty nieparzyste w wyniku. Zapisz
- szesnastkowy offset pierwszego bajtu adresu. Teraz wyedytuj
- modules/pcnet_cs.c i znajd╝ strukturΩ hw_info. BΩdziesz musia│
- utworzyµ now▒ pozycjΩ dla twojej karty. Pierwsze pole jest offsetem
- pamiΩci. NastΩpne trzy pola to pierwsze trzy bajty adresu sprzΩtowego.
- Ostatnie pole zawiera flagi dla konkretnych cech karty; na pocz▒tek
- spr≤buj ustawiµ tu 0.
-
- Po edycji pcnet_cs.c, skompiluj i zainstaluj nowy modu│. Zmodyfikuj
- jeszcze raz /etc/pcmcia/config i zmie± powi▒zania karty z memory_cs na
- pcnet_cs. PostΩpuj zgodnie z instrukacjami dla prze│adowywania pliku
- konfiguracyjnego i wszystko powinno byµ ustawione. Przy╢lij mi proszΩ
- kopie twoich nowych pozycji konfiguracyjnych i hw_info.
-
- Je╢li nie mo┐esz znale╝µ adresu sprzΩtowego swojej karty w formie
- szesnastkowej, ostateczn▒ metod▒ mo┐e okazaµ siΩ jawne podanie adresu
- w czasie inicjacji modu│u pcnet_cs. Popraw plik /etc/pcmcia/config
- dodaj▒c opcjΩ hw_addr=:
-
-
- module "pcnet_cs" opts "hw_addr=0x00,0x80,0xc8,0x01,0x02,0x03"
-
-
-
- Oczywi╢cie zamiast podanego adresu podaj adres swojej karty w
- odpowiednim miejscu.
-
-
-
-
-
- 5.3. Interfejs PCMCIA do dyskietek.
-
-
- Pakiet ten nie obs│uguje jeszcze interfejs≤w u┐ywanych przez Compaq
- Aero i kilka innych laptop-≤w. Kruczkiem w obs│udze dyskietek w Aero
- jest to, ┐e Aero wydaje siΩ u┐ywaµ ustawianego kontrolera PCMCIA, aby
- obs│ugiwaµ DMA dla dyskietek. Nie wiedz▒c jak to jest dok│adnie
- robione, nie ma sposobu, aby zaimplementowaµ to w Linux-ie.
-
- Je╢li kontroler dyskietek jest obecny podczas startowania Aero, BIOS
- Aero skonfiguruje kartΩ i Linux zidentyfikuje j▒ jako normaln▒ stacjΩ
- dyskietek. Kiedy za│adowane s▒ sterowniki Linux-owe PCMCIA, zauwa┐▒,
- ┐e karta jest ju┐ skonfigurowana i skojarzona ze sterownikiem Linux-
- owym i zostawi▒ to gniazdo w spokoju. Tak wiΩc napΩd mo┐e byµ u┐ywany
- je╢li jest obecny podczas startu, ale nie mo┐e byµ wymieniany podczas
- pracy (hot swapping).
-
-
- 5.4. Co jest z obs│ug▒ kart Xircom ?
-
-
- DziΩki pracy Wernera Kocha w aktualnej wersji pakietu PCMCIA zawarty
- jest sterownik do kart ethernetowej i ethernet/modem firmy Xircom.
- Specjalnie dla dyskusji na temat rozwoju sterownika Xircom ustawi│em
- forum HyperNews pod adresem
- hyper.stanford.edu/HyperNews/get/pcmcia/xircom.html
- <http://hyper.stanford.edu/HyperNews/get/pcmcia/xircom.html>.
-
- Przez d│ugi czas karty Xircom nie by│y obs│ugiwane poniewa┐ Xircom
- mia│ tak▒ zasadΩ, ┐eby nie ujawniaµ technicznych informacji o swoich
- kartach. Jednak trochΩ zmienili zasady i teraz rozprowadzaj▒
- informacje o sterowniku.
-
-
- 6. Wskaz≤wki do ╢ledzenia (debugging) i informacje do programowania.
-
-
-
- 6.1. Jak mogΩ wys│aµ pomocny list o b│Ωdzie ?
-
-
- Najlepszym sposobem na zg│aszanie b│Ωd≤w jest u┐ycie listy
- komunikatowej na HyperNews-ach na stronie dotycz▒cej PCMCIA na Linux-
- ie. W ten spos≤b inni tak┐e mog▒ ╢ledziµ bie┐▒ce problemy (i poprawki
- czy obej╢cia je╢li s▒ dostΩpne).
-
- Oto rzeczy, kt≤re powinny byµ zawarte w ka┐dym li╢cie na temat b│Ωdu:
-
-
- ╖ Typ twojego systemu i wynik polecenia probe.
-
- ╖ Jakich kart PCMCIA u┐ywasz.
-
- ╖ Wersja twojego j▒dra i wersja PCMCIA.
-
- ╖ Jakiekolwiek zmiany, jakie zrobi│e╢ w pliku /etc/pcmcia albo
- rc.pcmcia.
-
- ╖ Wszystko co jest zwi▒zane z kartami PCMCIA z log-≤w systemowych.
-
- Przed wys│aniem listu o b│Ωdzie, upewnij siΩ proszΩ, ┐e u┐ywasz
- najnowszej wersji sterownik≤w do PCMCIA. Szczerze powiem, ┐e czytanie
- o czym╢, co ju┐ naprawi│em nie jest najbardziej konstruktywnym
- sposobem na spΩdzanie czasu.
-
-
- Je╢li tw≤j problem zwi▒zany jest tak┐e z nag│ym przerwaniem dzia│ania
- j▒dra, podczas kt≤rego wy╢wietlane s▒ zawarto╢ci rejestr≤w, to
- zawarto╢µ ta jest przydatna tylko wtedy je╢li mo┐esz wskazaµ adres
- EIP. Je╢li jest on w g│≤wnym j▒drze, sprawd╝ ten adres w System.map,
- aby zidentyfikowaµ funkcjΩ, kt≤ra by│a w tym momencie wykonywana.
- Je╢li przerwa nast▒pi│a podczas dzia│ania jakiego╢ modu│u │adowalnego,
- jest to trochΩ trudniejsze do prze╢ledzenia. W bie┐▒cej wersji
- narzΩdzi do modu│≤w program ksyms -m wy╢wietli adres podstawowy
- ka┐dego modu│u. We╝ modu│, kt≤ry zawiera podane EIP, i odejmij jego
- adres podstawowy od EIP, aby otrzymaµ w ten spos≤b offset w module.
- Uruchom wtedy gdb z tym modu│em jako parametr i sprawd╝ otrzymany
- offset poleceniem list. Zadzia│a to tylko wtedy kiedy dany modu│ by│
- skompilowany z opcj▒ -g, czyli z informacjami dla debugger-a.
-
- Je╢li nie masz dostΩpu do WWW, informacje o b│Ωdach mo┐na wysy│aµ do
- mnie na adres dhinds@hyper.stanford.edu. Chocia┐ wolΩ, aby informacje
- takie by│y wysy│ane na mojej stronie WWW, tak ┐eby inni tak┐e mogli je
- widzieµ.
-
-
- 6.2. Informacje na temat niskopoziomowego ╢ledzenia PCMCIA.
-
-
- Modu│y PCMCIA zawieraj▒ du┐o warunkowo skompilowanego kodu ╢ledzenia.
- WiΩkszo╢µ tego kodu jest pod kontrol▒ definicji preprocesora
- PCMCIA_DEBUG. Je╢li jest to niezdefiniowane, to kod do ╢ledzenia nie
- zostanie wkompilowany. Je╢li jest utawione na 0, kod ten jest
- wkompilowany, ale nieaktywny. Im wiΩksze poziomy tym wiΩcej
- informacji. Ka┐dy modu│ stworzony ze zdefiniowanym symbolem
- PCMCIA_DEBUG bΩdzie mia│ parametr typu Integer, pc_debug, kt≤ry
- kontroluje ilo╢µ pojawiaj▒cych siΩ informacji. Mo┐e to byµ ustawiane
- wtedy, kiedy modu│ jest │adowany, tak wiΩc wyj╢cie mo┐e byµ
- kontrolowane, na zasadzie "dla ka┐dego modu│u" bez potrzeby
- przekompilowywania.
-
- Jest kilka narzΩdzi do ╢ledzenia w podkatalogu debug_tools/ w
- dystrybucji PCMCIA. NarzΩdzia dump_tcic i dump_i365 generuj▒ kompletny
- zrzut rejestr≤w kontrolera PCMCIA i dekoduj▒ du┐o informacji z
- rejestr≤w. S▒ najbardziej po┐yteczne wtedy, gdy masz dostΩp do
- schematu danych konkretnego uk│adu scalonego kontrolera. NarzΩdzie
- dump_tuples wy╢wietla CIS-y (Card Information Structure) danej karty i
- dekoduje niekt≤re z najwa┐niejszych bit≤w. A narzΩdzie dump_cisreg
- wy╢wietla rejestry lokalnej konfiguracji karty.
-
- Sterownik memory_cs do karty pamiΩci jest tak┐e czasami przydatny do
- ╢ledzenia. Mo┐e on zostaµ powi▒zany z ka┐d▒ kart▒ PCMCIA i nie wp│ywa
- to negatywnie na inne sterowniki. Mo┐e on zostaµ u┐yty do
- bezpo╢redniego dostΩpu do pamiΩci atrybutowej karty albo zwyk│ej
- pamiΩci.
-
-
- 6.3. Jak mam napisaµ sterownik Card Services dla nowej karty ?
-
-
- Najlepsz▒ dokumentacj▒ dla interfejsu PCMCIA dla Linux-a jest "The
- Linux PCMCIA Programmer's Guide". Najnowsza wersja jest zawsze
- dostΩpna z hyper.stanford.edu albo na WWW -
- hyper.stanford.edu/HyperNews/get/pcmcia/home.html
- <http://hyper.stanford.edu/HyperNews/get/pcmcia/home.html>.
-
- Dla urz▒dze±, kt≤re s▒ wzglΩdnie podobne do normalnych urz▒dze± kart
- ISA, bΩdziesz m≤g│ przypuszczalnie u┐yµ fragment≤w sterownik≤w Linux-
- a, kt≤re ju┐ istniej▒. W niekt≤rych przypadkach, najwiΩkszym problem
- bΩdzie takie przerobienie ju┐ istniej▒cego sterownika, aby m≤g│ on
- sobie poradziµ z wk│adaniem i wyjmowaniem danej karty. W bie┐▒cej
- wersji, sterownik do karty pamiΩci jest jedynym sterownikiem, kt≤ry
- nie zale┐y od ┐adnej czΩ╢ci innego sterownika, kt≤ry wykonywa│by za
- niego brudn▒ robotΩ.
-
- Napisa│em szkielet sterownika z du┐▒ ilo╢ci▒ komentarzy, kt≤re
- wyja╢niaj▒ jak sterownik siΩ komunikuje z Card Sevices; znajdziesz ten
- szkielet w dystrybucji ╝r≤d│owej PCMCIA w podkatalogu
- modules/skeleton.c.
-
-
- 6.4. Wskaz≤wki dla autor≤w sterownik≤w klient≤w PCMCIA.
-
-
- Zdecydowa│em, ┐e nie jest rozs▒dne dla mnie, abym rozprowadza│
- wszystkie sterowniki klient≤w PCMCIA jako czΩ╢µ pakietu PCMCIA. Ka┐dy
- nowy sterownik czyni g│≤wny pakiet trudniejszym do utrzymania i, co
- mo┐na by│o przewidzieµ, do│▒czenie sterownika przenosi trochΩ pracy
- opiekuna z autora na mnie. W zamian za to, zdecydujΩ osobno dla
- ka┐dego przypadku (case by case) czy w│▒czyµ czy nie sterowniki pisane
- przez osoby trzecie, w zale┐no╢ci od ┐▒da± u┐ytkownik≤w jak i
- mo┐liwo╢ci utrzymywania. SugerujΩ, ┐eby autorzy sterownik≤w, kt≤re nie
- dosta│y siΩ do g│≤wnego pakietu, zaadoptowali nastΩpuj▒cy schemat przy
- przygotowywaniu ich sterownik≤w do dystrybucji.
-
- Pliki sterownika powinny byµ u│o┐one w takiej samej strukturze
- katalog≤w jak w g│≤wnej dystrybucji, tak, ┐eby mo┐na by│o rozpakowaµ
- sterownik ten w g│≤wnym katalogu ╝r≤de│ g│≤wnej dystrybucji. Sterownik
- powinien posiadaµ pliki ╝r≤d│owe (w ./modules/), stronΩ do podrΩcznika
- systemowego (w ./man/) i pliki konfiguracyjne (w ./etc/). Katalog
- g│≤wny powinien zawieraµ tak┐e plik README.
-
- W katalogu g│≤wnym powinien siΩ tak┐e znajdowaµ makefile, ustawiony w
- taki spos≤b, ┐e "make -f ... all" i "make -f ... install" skompiluje
- sterownik i zainstaluje wszystkie potrzebne pliki. Je╢li plik ten
- posiada rozszerzenie .mk, to zostanie on automatycznie wykonany przez
- g│≤wny pliku Makefile dla cel≤w all i install.
- Oto przyk│ad jak taki plik m≤g│by byµ skonstruowany.
-
-
-
- # Przyk│adowy Makefile dla sterownik≤w pisanych przez osoby trzecie
- FILES = sample_cs.mk README.sample_cs \
- modules/sample_cs.c modules/sample_cs.h \
- etc/sample etc/sample.opts man/sample_cs.4
- all:
- $(MAKE) -C modules MODULES=sample_cs.o
- install:
- $(MAKE) -C modules install-modules MODULES=sample_cs.o
- $(MAKE) -C etc install-clients CLIENTS=sample
- $(MAKE) -C man install-man4 MAN4=sample_cs.4
- dist:
- tar czvf sample_cs.tar.gz $(FILES)
-
-
-
-
- Plik ten u┐ywa cel≤w install zdefiniowanych w pakiecie PCMCIA 2.9.10 i
- p≤╝niejszych. Zawiera on tak┐e cel "dist" dla wygody autora
- sterownika. Przypuszczalnie bΩdziesz chcia│ dodaµ numer wersji do
- ostatecznego pakietu (np. sample_cs-1.5.tar.gz). Pe│na dystrybucja
- mog│aby wygl▒daµ tak:
-
-
-
-
-
-
- sample_cs.mk
- README.sample_cs
- modules/sample_cs.c
- modules/sample_cs.h
- etc/sample
- etc/sample.opts
- man/sample_cs.4
-
-
-
-
- Z takim uk│adem katalog≤w, po rozpakowaniu sterownik staje siΩ czΩ╢ci▒
- g│≤wnej dystrybucji. Mo┐e korzystaµ z plik≤w nag│≤wkowych PCMCIA, tak
- jak i z mo┐liwo╢ci sprawdzania konfiguracji systemu u┐ytkownika i
- automatycznego sprawdzania zale┐no╢ci tak samo jak "normalny"
- sterownik klienta.
-
- BΩdΩ akceptowa│ sterowniki przygotowane zgodnie z t▒ specyfikacj▒ i
- umieszcza│ je w katalogu /pub/pcmcia/contrib na moim serwerze FTP -
- hyper.stanford.edu. Plik README w tym katalogu bΩdzie opisywa│ jak
- rozpakowaµ sterownik pisany przez trzeci▒ osobΩ.
-
- Interfejs sterownika PCMCIA nie zmieni│ siΩ wiele przez ten czas i
- prawie zawsze zachowywa│ wsteczn▒ kompatybilno╢µ. Sterownik klienta
- nie bΩdzie musia│ byµ aktualizowany dla pobocznych wersji w pakiecie
- g│≤wnym PCMCIA. Spr≤bujΩ powiadamiaµ autor≤w sterownik≤w o zmianach,
- kt≤re wymagaj▒ uaktualnienia ich sterownik≤w.
-
-
- 6.5. Od t│umacza.
-
-
- T│umaczenie to jest chronione prawami autorskimi (C) Bartosza
- Maruszewskiego. Dozwolone jest rozprowadzanie i dystrybucja na
- prawach takich samych jak dokument oryginalny.
-
- Je╢li znalaz│e╢ jakie╢ ra┐▒ce b│Ωdy ortograficzne, gramatyczne,
- sk│adniowe, techniczne to pisz do mnie:
-
- B.Maruszewski@jtz.org.pl A mo┐esz tu znale╝µ do╢µ du┐o mo┐e nie
- b│Ωd≤w, ale konstrukcji, kt≤re nie s▒ podobne do jΩzyka polskiego. Ale
- to wszystko dlatego, ┐e jest trochΩ ciΩ┐ko przet│umaczyµ zdanko z
- angielskiego je╢li jest obok siebie 4 czy czasami nawet 6 rzeczownik≤w
- ;) Je╢li zauwa┐ysz taki stw≤r i wpadniesz na lepsze okre╢lenie,
- napisz. Je╢li bΩdzie to w miarΩ sensowne, to napewno tego nie
- zignorujΩ.
-
- Oficjaln▒ stron▒ t│umacze± HOWTO jest http://www.jtz.org.pl/
-
- Aktualne wersje przet│umaczonych dokument≤w znajduj▒ siΩ na tej┐e
- stronie. DostΩpne s▒ tak┐e poprzez anonimowe ftp pod adresem
- ftp.jtz.org.pl w katalogu /JTZ/.
-
- Przet│umaczone przeze mnie dokumenty znajduj▒ siΩ tak┐e na mojej
- stronie WWW. <http://www.jtz.org.pl/bartek/tlumaczenie.html> S▒ tam
- te┐ odwo│ania do Polskiej Strony T│umaczeniowej.
-
- Kontakt z nasz▒ grup▒, grup▒ t│umaczy mo┐esz uzyskaµ poprzez listΩ
- dyskusyjn▒ jtz@ippt.gov.pl. Je╢li chcesz sie na ni▒ zapisaµ, to wy╢lij
- list o tre╢ci subscribe jtz ImiΩ Nazwisko na adres
- listproc@ippt.gov.pl
-
- Zmiany w tym dokumencie wprowadzone przez t│umacza to odwo│ania do
- polskich serwer≤w ftp.
-
-
-